class TargetLoweringObjectFileCOFF

Declaration

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

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

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 void emitLinkerFlagsForGlobal(llvm::raw_ostream & OS, const llvm::GlobalValue * GV) const
  • public void emitLinkerFlagsForUsed(llvm::raw_ostream & OS, const llvm::GlobalValue * GV) const
  • public void emitModuleMetadata(llvm::MCStreamer & Streamer, llvm::Module & M) const
  • public llvm::MCSection * getExplicitSectionGlobal(const llvm::GlobalObject * GO, llvm::SectionKind Kind, const llvm::TargetMachine & TM) const
  • public void getNameWithPrefix(SmallVectorImpl<char> & OutName, const llvm::GlobalValue * GV, 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 const llvm::MCExpr * lowerRelativeReference(const llvm::GlobalValue * LHS, const llvm::GlobalValue * RHS, const llvm::TargetMachine & TM) const
  • public ~TargetLoweringObjectFileCOFF()

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

Parameters

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

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

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

Parameters

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

void emitLinkerFlagsForGlobal(
    llvm::raw_ostream& OS,
    const llvm::GlobalValue* GV) const

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

Parameters

llvm::raw_ostream& OS
const llvm::GlobalValue* GV

void emitLinkerFlagsForUsed(
    llvm::raw_ostream& OS,
    const llvm::GlobalValue* GV) const

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

Parameters

llvm::raw_ostream& OS
const llvm::GlobalValue* GV

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

Parameters

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

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

Parameters

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

void getNameWithPrefix(
    SmallVectorImpl<char>& OutName,
    const llvm::GlobalValue* GV,
    const llvm::TargetMachine& TM) const

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

Parameters

SmallVectorImpl<char>& OutName
const llvm::GlobalValue* GV
const llvm::TargetMachine& TM

llvm::MCSection* getSectionForConstant(
    const llvm::DataLayout& DL,
    llvm::SectionKind Kind,
    const llvm::Constant* C,
    unsigned int& Align) const

Description

Given a mergeable constant with the specified size and relocation information, return a section that it should be placed in.

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

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

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

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

Parameters

unsigned int Priority
const llvm::MCSymbol* KeySym

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

Parameters

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

~TargetLoweringObjectFileCOFF()

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