class TargetLoweringObjectFileXCOFF
Declaration
class TargetLoweringObjectFileXCOFF : public TargetLoweringObjectFile { /* full declaration omitted */ };
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:211
Inherits from: TargetLoweringObjectFile
Method Overview
- public void Initialize(llvm::MCContext & Ctx, const llvm::TargetMachine & TM)
- public llvm::MCSection * SelectSectionForGlobal(const llvm::GlobalObject * GO, llvm::SectionKind Kind, const llvm::TargetMachine & TM) const
- public TargetLoweringObjectFileXCOFF()
- public llvm::MCSection * getExplicitSectionGlobal(const llvm::GlobalObject * GO, llvm::SectionKind Kind, const llvm::TargetMachine & TM) const
- public llvm::MCSection * getSectionForConstant(const llvm::DataLayout & DL, llvm::SectionKind Kind, const llvm::Constant * C, unsigned int & Align) const
- public llvm::MCSection * getSectionForJumpTable(const llvm::Function & F, const llvm::TargetMachine & TM) const
- public llvm::MCSection * getStaticCtorSection(unsigned int Priority, const llvm::MCSymbol * KeySym) const
- public llvm::MCSection * getStaticDtorSection(unsigned int Priority, const llvm::MCSymbol * KeySym) const
- public static XCOFF::StorageClass getStorageClassForGlobal(const llvm::GlobalObject * GO)
- public const llvm::MCExpr * lowerRelativeReference(const llvm::GlobalValue * LHS, const llvm::GlobalValue * RHS, const llvm::TargetMachine & TM) const
- public bool shouldPutJumpTableInFunctionSection(bool UsesLabelDifference, const llvm::Function & F) const
- public ~TargetLoweringObjectFileXCOFF()
Methods
¶void Initialize(llvm::MCContext& Ctx,
const llvm::TargetMachine& TM)
void Initialize(llvm::MCContext& Ctx,
const llvm::TargetMachine& TM)
Description
This method must be called before any actual lowering is done. This specifies the current context for codegen, and gives the lowering implementations a chance to set up their default sections.
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:216
Parameters
- llvm::MCContext& Ctx
- const llvm::TargetMachine& TM
¶llvm::MCSection* SelectSectionForGlobal(
const llvm::GlobalObject* GO,
llvm::SectionKind Kind,
const llvm::TargetMachine& TM) const
llvm::MCSection* SelectSectionForGlobal(
const llvm::GlobalObject* GO,
llvm::SectionKind Kind,
const llvm::TargetMachine& TM) const
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:233
Parameters
- const llvm::GlobalObject* GO
- llvm::SectionKind Kind
- const llvm::TargetMachine& TM
¶TargetLoweringObjectFileXCOFF()
TargetLoweringObjectFileXCOFF()
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:213
¶llvm::MCSection* getExplicitSectionGlobal(
const llvm::GlobalObject* GO,
llvm::SectionKind Kind,
const llvm::TargetMachine& TM) const
llvm::MCSection* getExplicitSectionGlobal(
const llvm::GlobalObject* GO,
llvm::SectionKind Kind,
const llvm::TargetMachine& TM) const
Description
Targets should implement this method to assign a section to globals with an explicit section specfied. The implementation of this method can assume that GO->hasSection() is true.
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:221
Parameters
- const llvm::GlobalObject* GO
- llvm::SectionKind Kind
- const llvm::TargetMachine& TM
¶llvm::MCSection* getSectionForConstant(
const llvm::DataLayout& DL,
llvm::SectionKind Kind,
const llvm::Constant* C,
unsigned int& Align) const
llvm::MCSection* getSectionForConstant(
const llvm::DataLayout& DL,
llvm::SectionKind Kind,
const llvm::Constant* C,
unsigned int& Align) const
Description
Given a constant with the SectionKind, return a section that it should be placed in.
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:241
Parameters
- const llvm::DataLayout& DL
- llvm::SectionKind Kind
- const llvm::Constant* C
- unsigned int& Align
¶llvm::MCSection* getSectionForJumpTable(
const llvm::Function& F,
const llvm::TargetMachine& TM) const
llvm::MCSection* getSectionForJumpTable(
const llvm::Function& F,
const llvm::TargetMachine& TM) const
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:236
Parameters
- const llvm::Function& F
- const llvm::TargetMachine& TM
¶llvm::MCSection* getStaticCtorSection(
unsigned int Priority,
const llvm::MCSymbol* KeySym) const
llvm::MCSection* getStaticCtorSection(
unsigned int Priority,
const llvm::MCSymbol* KeySym) const
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:224
Parameters
- unsigned int Priority
- const llvm::MCSymbol* KeySym
¶llvm::MCSection* getStaticDtorSection(
unsigned int Priority,
const llvm::MCSymbol* KeySym) const
llvm::MCSection* getStaticDtorSection(
unsigned int Priority,
const llvm::MCSymbol* KeySym) const
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:226
Parameters
- unsigned int Priority
- const llvm::MCSymbol* KeySym
¶static XCOFF::StorageClass
getStorageClassForGlobal(
const llvm::GlobalObject* GO)
static XCOFF::StorageClass
getStorageClassForGlobal(
const llvm::GlobalObject* GO)
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:245
Parameters
- const llvm::GlobalObject* GO
¶const llvm::MCExpr* lowerRelativeReference(
const llvm::GlobalValue* LHS,
const llvm::GlobalValue* RHS,
const llvm::TargetMachine& TM) const
const llvm::MCExpr* lowerRelativeReference(
const llvm::GlobalValue* LHS,
const llvm::GlobalValue* RHS,
const llvm::TargetMachine& TM) const
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:229
Parameters
- const llvm::GlobalValue* LHS
- const llvm::GlobalValue* RHS
- const llvm::TargetMachine& TM
¶bool shouldPutJumpTableInFunctionSection(
bool UsesLabelDifference,
const llvm::Function& F) const
bool shouldPutJumpTableInFunctionSection(
bool UsesLabelDifference,
const llvm::Function& F) const
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:218
Parameters
- bool UsesLabelDifference
- const llvm::Function& F
¶~TargetLoweringObjectFileXCOFF()
~TargetLoweringObjectFileXCOFF()
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:214