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
- public MachineModuleInfo(llvm::MachineModuleInfo && MMII)
- public MachineModuleInfo(const llvm::LLVMTargetMachine * TM = nullptr)
- public void addPersonality(const llvm::Function * Personality)
- public void deleteMachineFunctionFor(llvm::Function & F)
- public void finalize()
- public llvm::MCSymbol * getAddrLabelSymbol(const llvm::BasicBlock * BB)
- public ArrayRef<llvm::MCSymbol *> getAddrLabelSymbolToEmit(const llvm::BasicBlock * BB)
- public const llvm::MCContext & getContext() const
- public llvm::MCContext & getContext()
- public unsigned int getCurrentCallSite()
- public llvm::MachineFunction * getMachineFunction(const llvm::Function & F) const
- public const llvm::Module * getModule() const
- public template <typename Ty>const Ty & getObjFileInfo() const
- public template <typename Ty>Ty & getObjFileInfo()
- public llvm::MachineFunction & getOrCreateMachineFunction(const llvm::Function & F)
- public const std::vector<const Function *> & getPersonalities() const
- public const llvm::LLVMTargetMachine & getTarget() const
- public bool hasDebugInfo() const
- public bool hasNosplitStack() const
- public bool hasSplitStack() const
- public void initialize()
- public void setCurrentCallSite(unsigned int Site)
- public void setDebugInfoAvailability(bool avail)
- public void setHasNosplitStack(bool b)
- public void setHasSplitStack(bool b)
- public void setUsesMSVCFloatingPoint(bool b)
- public void setUsesMorestackAddr(bool b)
- public void takeDeletedSymbolsForFunction(const llvm::Function * F, std::vector<MCSymbol *> & Result)
- public bool usesMSVCFloatingPoint() const
- public bool usesMorestackAddr() const
- public ~MachineModuleInfo()
Methods
¶MachineModuleInfo(llvm::MachineModuleInfo&& MMII)
MachineModuleInfo(llvm::MachineModuleInfo&& MMII)
Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:152
Parameters
- llvm::MachineModuleInfo&& MMII
¶MachineModuleInfo(
const llvm::LLVMTargetMachine* TM = nullptr)
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)
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)
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
¶void finalize()
void finalize()
Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:157
¶llvm::MCSymbol* getAddrLabelSymbol(
const llvm::BasicBlock* BB)
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)
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
const llvm::MCContext& getContext() const
Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:161
¶llvm::MCContext& getContext()
llvm::MCContext& getContext()
Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:162
¶unsigned int getCurrentCallSite()
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
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
const llvm::Module* getModule() const
Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:164
¶template <typename Ty>
const Ty& getObjFileInfo() const
template <typename Ty>
const Ty& getObjFileInfo() const
Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:188
Templates
- Ty
¶template <typename Ty>
Ty& getObjFileInfo()
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)
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
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
const llvm::LLVMTargetMachine& getTarget() const
Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:159
¶bool hasDebugInfo() const
bool hasDebugInfo() const
Description
Returns true if valid debug info is present.
Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:193
¶bool hasNosplitStack() const
bool hasNosplitStack() const
Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:216
¶bool hasSplitStack() const
bool hasSplitStack() const
Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:208
¶void initialize()
void initialize()
Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:156
¶void setCurrentCallSite(unsigned int Site)
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)
void setDebugInfoAvailability(bool avail)
Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:194
Parameters
- bool avail
¶void setHasNosplitStack(bool b)
void setHasNosplitStack(bool b)
Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:220
Parameters
- bool b
¶void setHasSplitStack(bool b)
void setHasSplitStack(bool b)
Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:212
Parameters
- bool b
¶void setUsesMSVCFloatingPoint(bool b)
void setUsesMSVCFloatingPoint(bool b)
Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:198
Parameters
- bool b
¶void setUsesMorestackAddr(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)
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
bool usesMSVCFloatingPoint() const
Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:196
¶bool usesMorestackAddr() const
bool usesMorestackAddr() const
Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:200
¶~MachineModuleInfo()
~MachineModuleInfo()
Declared at: llvm/include/llvm/CodeGen/MachineModuleInfo.h:154