class MachineModuleInfo

Declaration

class MachineModuleInfo { /* full declaration omitted */ };

Description

This class contains meta information specific to a module. Queries can be made by different debugging and exception handling schemes and reformated for specific use.

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:78

Method Overview

Methods

MachineModuleInfo(llvm::MachineModuleInfo&& MMII)

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:152

Parameters

llvm::MachineModuleInfo&& MMII

MachineModuleInfo(
    const llvm::LLVMTargetMachine* TM = nullptr)

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

Parameters

const llvm::LLVMTargetMachine* TM = nullptr

void addPersonality(
    const llvm::Function* Personality)

Description

Provide the personality function for the exception information.

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:254

Parameters

const llvm::Function* Personality

void deleteMachineFunctionFor(llvm::Function& F)

Description

Delete the MachineFunction \p MF and reset the link in the IR Function to Machine Function map.

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:176

Parameters

llvm::Function& F

void finalize()

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:157

llvm::MCSymbol* getAddrLabelSymbol(
    const llvm::BasicBlock* BB)

Description

Return the symbol to be used for the specified basic block when its address is taken. This cannot be its normal LBB label because the block may be accessed outside its containing function.

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:227

Parameters

const llvm::BasicBlock* BB

ArrayRef<llvm::MCSymbol*>
getAddrLabelSymbolToEmit(
    const llvm::BasicBlock* BB)

Description

Return the symbol to be used for the specified basic block when its address is taken. If other blocks were RAUW'd to this one, we may have to emit them as well, return the whole set.

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:234

Parameters

const llvm::BasicBlock* BB

const llvm::MCContext& getContext() const

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:161

llvm::MCContext& getContext()

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:162

unsigned int getCurrentCallSite()

Description

Get the call site currently being processed, if any. return zero if none.

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:251

llvm::MachineFunction* getMachineFunction(
    const llvm::Function& F) const

Description

Returns the MachineFunction associated to IR function \p F if there is one, otherwise nullptr.

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:172

Parameters

const llvm::Function& F

const llvm::Module* getModule() const

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:164

template <typename Ty>
const Ty& getObjFileInfo() const

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:188

Templates

Ty

template <typename Ty>
Ty& getObjFileInfo()

Description

Keep track of various per-function pieces of information for backends that would like to do so.

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:181

Templates

Ty

llvm::MachineFunction& getOrCreateMachineFunction(
    const llvm::Function& F)

Description

Returns the MachineFunction constructed for the IR function \p F. Creates a new MachineFunction if none exists yet.

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:168

Parameters

const llvm::Function& F

const std::vector<const Function*>&
getPersonalities() const

Description

Return array of personality functions ever seen.

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:257

const llvm::LLVMTargetMachine& getTarget() const

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:159

bool hasDebugInfo() const

Description

Returns true if valid debug info is present.

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:193

bool hasNosplitStack() const

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:216

bool hasSplitStack() const

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:208

void initialize()

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:156

void setCurrentCallSite(unsigned int Site)

Description

Set the call site currently being processed.

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:247

Parameters

unsigned int Site

void setDebugInfoAvailability(bool avail)

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:194

Parameters

bool avail

void setHasNosplitStack(bool b)

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:220

Parameters

bool b

void setHasSplitStack(bool b)

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:212

Parameters

bool b

void setUsesMSVCFloatingPoint(bool b)

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:198

Parameters

bool b

void setUsesMorestackAddr(bool b)

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:204

Parameters

bool b

void takeDeletedSymbolsForFunction(
    const llvm::Function* F,
    std::vector<MCSymbol*>& Result)

Description

If the specified function has had any references to address-taken blocks generated, but the block got deleted, return the symbol now so we can emit it. This prevents emitting a reference to a symbol that has no definition.

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:240

Parameters

const llvm::Function* F
std::vector<MCSymbol*>& Result

bool usesMSVCFloatingPoint() const

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:196

bool usesMorestackAddr() const

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:200

~MachineModuleInfo()

Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:154