LLVM: llvm::MachineModuleInfo Class Reference (original) (raw)
This class contains meta information specific to a module. More...
#include "[llvm/CodeGen/MachineModuleInfo.h](MachineModuleInfo%5F8h%5Fsource.html)"
Public Member Functions | |
---|---|
MachineModuleInfo (const TargetMachine *TM=nullptr) | |
MachineModuleInfo (const TargetMachine *TM, MCContext *ExtContext) | |
MachineModuleInfo (MachineModuleInfo &&MMII) | |
~MachineModuleInfo () | |
void | initialize () |
void | finalize () |
const TargetMachine & | getTarget () const |
const MCContext & | getContext () const |
MCContext & | getContext () |
const Module * | getModule () const |
MachineFunction & | getOrCreateMachineFunction (Function &F) |
Returns the MachineFunction constructed for the IR function F. | |
MachineFunction * | getMachineFunction (const Function &F) const |
Returns the MachineFunction associated to IR function F if there is one, otherwise nullptr. | |
void | deleteMachineFunctionFor (Function &F) |
Delete the MachineFunction MF and reset the link in the IR Function to Machine Function map. | |
void | insertFunction (const Function &F, std::unique_ptr< MachineFunction > &&MF) |
Add an externally created MachineFunction MF for F. | |
template | |
Ty & | getObjFileInfo () |
Keep track of various per-module pieces of information for backends that would like to do so. | |
template | |
const Ty & | getObjFileInfo () const |
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.
Definition at line 82 of file MachineModuleInfo.h.
◆ MachineModuleInfo() [2/3]
◆ MachineModuleInfo() [3/3]
◆ ~MachineModuleInfo()
MachineModuleInfo::~MachineModuleInfo | ( | ) |
---|
◆ deleteMachineFunctionFor()
void MachineModuleInfo::deleteMachineFunctionFor | ( | Function & | F | ) |
---|
◆ finalize()
void MachineModuleInfo::finalize | ( | ) |
---|
◆ getContext() [1/2]
MCContext & llvm::MachineModuleInfo::getContext ( ) | inline |
---|
◆ getContext() [2/2]
const MCContext & llvm::MachineModuleInfo::getContext ( ) const | inline |
---|
Definition at line 125 of file MachineModuleInfo.h.
Referenced by llvm::DirectXTargetMachine::addPassesToEmitFile(), llvm::CodeGenTargetMachineImpl::addPassesToEmitFile(), llvm::CodeGenTargetMachineImpl::addPassesToEmitMC(), llvm::DebugHandlerBase::beginInstruction(), llvm::MachineModuleInfoWrapperPass::doInitialization(), llvm::X86AsmPrinter::emitEndOfAsmFile(), EmitInlineAsmStr(), llvm::LoongArchAsmPrinter::emitJumpTableInfo(), emitNonLazyStubs(), llvm::AVRAsmPrinter::emitStartOfAsmFile(), llvm::X86AsmPrinter::emitStartOfAsmFile(), llvm::DebugHandlerBase::endInstruction(), llvm::AsmPrinter::getCodeViewJumpTableInfo(), getOrCreateMachineFunction(), and llvm::MachineModuleAnalysis::run().
◆ getMachineFunction()
◆ getModule()
const Module * llvm::MachineModuleInfo::getModule ( ) const | inline |
---|
Definition at line 132 of file MachineModuleInfo.h.
Referenced by llvm::AMDGPUMachineModuleInfo::AMDGPUMachineModuleInfo(), llvm::CodeViewDebug::beginFunctionImpl(), llvm::ThunkInserter< Derived, InsertedThunksTy >::createThunkFunction(), llvm::DwarfDebug::DwarfDebug(), llvm::WebAssemblyAsmPrinter::emitConstantPool(), llvm::AsmPrinter::emitFunctionBody(), llvm::CodeViewDebug::endFunctionImpl(), llvm::WinCFGuard::endModule(), llvm::WinException::endModule(), getAuthPtrSlotSymbolHelper(), llvm::AsmPrinter::getDataLayout(), llvm::TargetLoweringObjectFileMachO::getIndirectSymViaGOTPCRel(), and llvm::MachineModuleInfoELF::MachineModuleInfoELF().
◆ getObjFileInfo() [1/2]
template
Ty & llvm::MachineModuleInfo::getObjFileInfo ( ) | inline |
---|
Keep track of various per-module pieces of information for backends that would like to do so.
Definition at line 156 of file MachineModuleInfo.h.
Referenced by llvm::AsmPrinter::doFinalization(), llvm::WebAssemblyAsmPrinter::emitDecls(), llvm::ARMAsmPrinter::emitEndOfAsmFile(), emitNonLazyStubs(), llvm::AArch64_ELFTargetObjectFile::emitPersonalityValueImpl(), llvm::AArch64_ELFTargetObjectFile::getAuthPtrSlotSymbol(), llvm::AArch64_MachoTargetObjectFile::getAuthPtrSlotSymbol(), llvm::TargetLoweringObjectFileMachO::getCFIPersonalitySymbol(), llvm::AArch64MCInstLower::GetGlobalValueSymbol(), llvm::TargetLoweringObjectFileMachO::getIndirectSymViaGOTPCRel(), llvm::TargetLoweringObjectFileELF::getTTypeGlobalReference(), llvm::TargetLoweringObjectFileMachO::getTTypeGlobalReference(), and llvm::SparcELFTargetObjectFile::getTTypeGlobalReference().
◆ getObjFileInfo() [2/2]
template
const Ty & llvm::MachineModuleInfo::getObjFileInfo ( ) const | inline |
---|
◆ getOrCreateMachineFunction()
◆ getTarget()
◆ initialize()
void MachineModuleInfo::initialize | ( | ) |
---|
◆ insertFunction()
◆ MachineModuleAnalysis
◆ MachineModuleInfoWrapperPass
The documentation for this class was generated from the following files:
- include/llvm/CodeGen/MachineModuleInfo.h
- lib/CodeGen/MachineModuleInfo.cpp