class TargetLoweringObjectFileELF

Declaration

class TargetLoweringObjectFileELF : public TargetLoweringObjectFile { /* full declaration omitted */ };

Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:32

Inherits from: TargetLoweringObjectFile

Member Variables

protected MCSymbolRefExpr::VariantKind PLTRelativeVariantKind = MCSymbolRefExpr::VK_None
protected const llvm::TargetMachine* TM = nullptr

Method Overview

Methods

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:45

Parameters

llvm::MCContext& Ctx
const llvm::TargetMachine& TM

void InitializeELF(bool UseInitArray_)

Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:84

Parameters

bool UseInitArray_

llvm::MCSection* SelectSectionForGlobal(
    const llvm::GlobalObject* GO,
    llvm::SectionKind Kind,
    const llvm::TargetMachine& TM) const

Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:62

Parameters

const llvm::GlobalObject* GO
llvm::SectionKind Kind
const llvm::TargetMachine& TM

TargetLoweringObjectFileELF()

Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:42

void emitModuleMetadata(
    llvm::MCStreamer& Streamer,
    llvm::Module& M) const

Description

Emit Obj-C garbage collection and linker options.

Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:48

Parameters

llvm::MCStreamer& Streamer
llvm::Module& M

void emitPersonalityValue(
    llvm::MCStreamer& Streamer,
    const llvm::DataLayout& DL,
    const llvm::MCSymbol* Sym) const

Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:50

Parameters

llvm::MCStreamer& Streamer
const llvm::DataLayout& DL
const llvm::MCSymbol* Sym

llvm::MCSymbol* getCFIPersonalitySymbol(
    const llvm::GlobalValue* GV,
    const llvm::TargetMachine& TM,
    llvm::MachineModuleInfo* MMI) const

Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:80

Parameters

const llvm::GlobalValue* GV
const llvm::TargetMachine& TM
llvm::MachineModuleInfo* MMI

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:59

Parameters

const llvm::GlobalObject* GO
llvm::SectionKind Kind
const llvm::TargetMachine& TM

llvm::MCSection* getSectionForCommandLines() const

Description

If supported, return the section to use for the llvm.commandline metadata. Otherwise, return nullptr.

Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:94

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:55

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

Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:65

Parameters

const llvm::Function& F
const llvm::TargetMachine& TM

llvm::MCSection* getStaticCtorSection(
    unsigned int Priority,
    const llvm::MCSymbol* KeySym) const

Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:85

Parameters

unsigned int Priority
const llvm::MCSymbol* KeySym

llvm::MCSection* getStaticDtorSection(
    unsigned int Priority,
    const llvm::MCSymbol* KeySym) const

Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:87

Parameters

unsigned int Priority
const llvm::MCSymbol* KeySym

const llvm::MCExpr* getTTypeGlobalReference(
    const llvm::GlobalValue* GV,
    unsigned int Encoding,
    const llvm::TargetMachine& TM,
    llvm::MachineModuleInfo* MMI,
    llvm::MCStreamer& Streamer) const

Description

Return an MCExpr to use for a reference to the specified type info global variable from exception handling information.

Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:73

Parameters

const llvm::GlobalValue* GV
unsigned int Encoding
const llvm::TargetMachine& TM
llvm::MachineModuleInfo* MMI
llvm::MCStreamer& Streamer

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:90

Parameters

const llvm::GlobalValue* LHS
const llvm::GlobalValue* RHS
const llvm::TargetMachine& TM

bool shouldPutJumpTableInFunctionSection(
    bool UsesLabelDifference,
    const llvm::Function& F) const

Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:68

Parameters

bool UsesLabelDifference
const llvm::Function& F

~TargetLoweringObjectFileELF()

Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:43