19PPC64LinuxTargetObjectFile::
24MCSection *PPC64LinuxTargetObjectFile::SelectSectionForGlobal(
40 if (
Kind.isReadOnly()) {
41 const auto *GVar = dyn_cast<GlobalVariable>(GO);
43 if (GVar && GVar->isConstant() &&
44 GVar->getInitializer()->needsDynamicRelocation())
51const MCExpr *PPC64LinuxTargetObjectFile::
52getDebugThreadLocalSymbol(
const MCSymbol *
Sym)
const {
static const MCBinaryExpr * createAdd(const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx)
static const MCConstantExpr * create(int64_t Value, MCContext &Ctx, bool PrintInHex=false, unsigned SizeInBytes=0)
Context object for machine code objects.
Base class for the full range of assembler expressions which are needed for parsing.
MCContext & getContext() const
Instances of this class represent a uniqued identifier for a section in the current translation unit.
static const MCSymbolRefExpr * create(const MCSymbol *Symbol, MCContext &Ctx)
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
SectionKind - This is a simple POD value that classifies the properties of a section.
static SectionKind getReadOnlyWithRel()
void Initialize(MCContext &Ctx, const TargetMachine &TM) override
This method must be called before any actual lowering is done.
MCSection * SelectSectionForGlobal(const GlobalObject *GO, SectionKind Kind, const TargetMachine &TM) const override
Primary interface to the complete machine description for the target machine.
This is an optimization pass for GlobalISel generic memory operations.