17PPC64LinuxTargetObjectFile::
22MCSection *PPC64LinuxTargetObjectFile::SelectSectionForGlobal(
38 if (
Kind.isReadOnly()) {
39 const auto *GVar = dyn_cast<GlobalVariable>(GO);
41 if (GVar && GVar->isConstant() &&
42 GVar->getInitializer()->needsDynamicRelocation())
49const MCExpr *PPC64LinuxTargetObjectFile::
50getDebugThreadLocalSymbol(
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.