Path: blob/main/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXTargetObjectFile.h
35271 views
//===-- NVPTXTargetObjectFile.h - NVPTX Object Info -------------*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLVM_LIB_TARGET_NVPTX_NVPTXTARGETOBJECTFILE_H9#define LLVM_LIB_TARGET_NVPTX_NVPTXTARGETOBJECTFILE_H1011#include "llvm/MC/MCSection.h"12#include "llvm/MC/SectionKind.h"13#include "llvm/Target/TargetLoweringObjectFile.h"1415namespace llvm {1617class NVPTXTargetObjectFile : public TargetLoweringObjectFile {18public:19NVPTXTargetObjectFile() = default;2021~NVPTXTargetObjectFile() override;2223MCSection *getSectionForConstant(const DataLayout &DL, SectionKind Kind,24const Constant *C,25Align &Alignment) const override {26return ReadOnlySection;27}2829MCSection *getExplicitSectionGlobal(const GlobalObject *GO, SectionKind Kind,30const TargetMachine &TM) const override {31return DataSection;32}3334MCSection *SelectSectionForGlobal(const GlobalObject *GO, SectionKind Kind,35const TargetMachine &TM) const override;36};3738} // end namespace llvm3940#endif // LLVM_LIB_TARGET_NVPTX_NVPTXTARGETOBJECTFILE_H414243