Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
lib/Target/ARM/ARMTargetObjectFile.h
Show All 12 Lines | |||||
#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h" | #include "llvm/CodeGen/TargetLoweringObjectFileImpl.h" | ||||
namespace llvm { | namespace llvm { | ||||
class MCContext; | class MCContext; | ||||
class TargetMachine; | class TargetMachine; | ||||
class ARMElfTargetObjectFile : public TargetLoweringObjectFileELF { | class ARMElfTargetObjectFile : public TargetLoweringObjectFileELF { | ||||
mutable bool genExecuteOnly = false; | |||||
protected: | protected: | ||||
const MCSection *AttributesSection; | const MCSection *AttributesSection; | ||||
public: | public: | ||||
ARMElfTargetObjectFile() | ARMElfTargetObjectFile() | ||||
: TargetLoweringObjectFileELF(), AttributesSection(nullptr) { | : TargetLoweringObjectFileELF(), AttributesSection(nullptr) { | ||||
PLTRelativeVariantKind = MCSymbolRefExpr::VK_ARM_PREL31; | PLTRelativeVariantKind = MCSymbolRefExpr::VK_ARM_PREL31; | ||||
} | } | ||||
void Initialize(MCContext &Ctx, const TargetMachine &TM) override; | void Initialize(MCContext &Ctx, const TargetMachine &TM) override; | ||||
const MCExpr *getTTypeGlobalReference(const GlobalValue *GV, | const MCExpr *getTTypeGlobalReference(const GlobalValue *GV, | ||||
unsigned Encoding, | unsigned Encoding, | ||||
const TargetMachine &TM, | const TargetMachine &TM, | ||||
MachineModuleInfo *MMI, | MachineModuleInfo *MMI, | ||||
MCStreamer &Streamer) const override; | MCStreamer &Streamer) const override; | ||||
/// \brief Describe a TLS variable address within debug info. | /// \brief Describe a TLS variable address within debug info. | ||||
const MCExpr *getDebugThreadLocalSymbol(const MCSymbol *Sym) const override; | const MCExpr *getDebugThreadLocalSymbol(const MCSymbol *Sym) const override; | ||||
MCSection *getExplicitSectionGlobal(const GlobalObject *GO, SectionKind Kind, | |||||
const TargetMachine &TM) const override; | |||||
MCSection *SelectSectionForGlobal(const GlobalObject *GO, SectionKind Kind, | |||||
const TargetMachine &TM) const override; | |||||
}; | }; | ||||
} // end namespace llvm | } // end namespace llvm | ||||
#endif | #endif |