LLVM 18.0.0git
|
This class contains meta information specific to a module. More...
#include "llvm/CodeGen/MachineModuleInfo.h"
Friends | |
class | MachineModuleInfoWrapperPass |
class | MachineModuleAnalysis |
Exception Handling | |
void | setCurrentCallSite (unsigned Site) |
Set the call site currently being processed. | |
unsigned | getCurrentCallSite () |
Get the call site currently being processed, if any. | |
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 74 of file MachineModuleInfo.h.
|
explicit |
Definition at line 69 of file MachineModuleInfo.cpp.
References Context, initialize(), llvm::MCContext::setObjectFileInfo(), and TM.
|
explicit |
Definition at line 77 of file MachineModuleInfo.cpp.
References Context, initialize(), llvm::MCContext::setObjectFileInfo(), and TM.
MachineModuleInfo::MachineModuleInfo | ( | MachineModuleInfo && | MMII | ) |
Definition at line 57 of file MachineModuleInfo.cpp.
References Context, llvm::TargetMachine::getObjFileLowering(), and llvm::MCContext::setObjectFileInfo().
MachineModuleInfo::~MachineModuleInfo | ( | ) |
Definition at line 87 of file MachineModuleInfo.cpp.
References finalize().
void MachineModuleInfo::deleteMachineFunctionFor | ( | Function & | F | ) |
Delete the MachineFunction MF
and reset the link in the IR Function to Machine Function map.
Definition at line 124 of file MachineModuleInfo.cpp.
References F.
void MachineModuleInfo::finalize | ( | ) |
Definition at line 49 of file MachineModuleInfo.cpp.
References llvm::MCContext::reset().
Referenced by llvm::MachineModuleInfoWrapperPass::doFinalization(), and ~MachineModuleInfo().
|
inline |
Definition at line 142 of file MachineModuleInfo.h.
References Context.
Definition at line 139 of file MachineModuleInfo.h.
References Context.
Referenced by llvm::DirectXTargetMachine::addPassesToEmitFile(), llvm::LLVMTargetMachine::addPassesToEmitFile(), llvm::LLVMTargetMachine::addPassesToEmitMC(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::DwarfCFIException::beginFunction(), llvm::DebugHandlerBase::beginInstruction(), buildDefCFAReg(), llvm::MachineModuleInfoWrapperPass::doInitialization(), llvm::MSP430FrameLowering::emitCalleeSavedFrameMoves(), llvm::X86FrameLowering::emitCalleeSavedFrameMoves(), llvm::X86FrameLowering::emitCalleeSavedFrameMovesFullCFA(), llvm::X86AsmPrinter::emitEndOfAsmFile(), EmitInlineAsmStr(), emitNonLazyStubs(), llvm::AArch64FrameLowering::emitPrologue(), llvm::Mips16FrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), llvm::SystemZELFFrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), llvm::AVRAsmPrinter::emitStartOfAsmFile(), llvm::X86AsmPrinter::emitStartOfAsmFile(), llvm::X86FrameLowering::enableShrinkWrapping(), llvm::DebugHandlerBase::endInstruction(), llvm::AsmPrinter::getCodeViewJumpTableInfo(), llvm::TargetLoweringObjectFileXCOFF::getEHInfoTableSymbol(), llvm::PPCFrameLowering::inlineStackProbe(), recoverFramePointer(), and transformCallee().
|
inline |
Get the call site currently being processed, if any.
return zero if none.
Definition at line 192 of file MachineModuleInfo.h.
MachineFunction * MachineModuleInfo::getMachineFunction | ( | const Function & | F | ) | const |
Returns the MachineFunction associated to IR function F
if there is one, otherwise nullptr.
Definition at line 90 of file MachineModuleInfo.cpp.
Referenced by llvm::AArch64InstrInfo::getOutliningTypeImpl(), llvm::ARMBaseInstrInfo::getOutliningTypeImpl(), llvm::MIRParserImpl::parseMachineFunction(), and llvm::AMDGPUResourceUsageAnalysis::runOnModule().
Definition at line 146 of file MachineModuleInfo.h.
Referenced by llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::AMDGPUMachineModuleInfo::AMDGPUMachineModuleInfo(), llvm::CodeViewDebug::beginFunctionImpl(), llvm::ThunkInserter< Derived, InsertedThunksTy >::createThunkFunction(), llvm::DwarfDebug::DwarfDebug(), llvm::WebAssemblyAsmPrinter::emitConstantPool(), llvm::MachineInstr::emitError(), emitErrorMsg(), llvm::AsmPrinter::emitFunctionBody(), EmitInlineAsmStr(), llvm::X86FrameLowering::emitPrologue(), llvm::CodeViewDebug::endFunctionImpl(), llvm::WinCFGuard::endModule(), llvm::WinException::endModule(), llvm::X86TargetLowering::expandIndirectJTBranch(), llvm::AsmPrinter::getDataLayout(), llvm::TargetLoweringObjectFileMachO::getIndirectSymViaGOTPCRel(), and llvm::X86AsmPrinter::runOnMachineFunction().
|
inline |
Keep track of various per-module pieces of information for backends that would like to do so.
Definition at line 166 of file MachineModuleInfo.h.
Referenced by llvm::AsmPrinter::doFinalization(), llvm::WebAssemblyAsmPrinter::emitDecls(), llvm::ARMAsmPrinter::emitEndOfAsmFile(), emitNonLazyStubs(), llvm::TargetLoweringObjectFileMachO::getCFIPersonalitySymbol(), llvm::AArch64MCInstLower::GetGlobalAddressSymbol(), llvm::TargetLoweringObjectFileMachO::getIndirectSymViaGOTPCRel(), llvm::TargetLoweringObjectFileELF::getTTypeGlobalReference(), llvm::TargetLoweringObjectFileMachO::getTTypeGlobalReference(), and llvm::SparcELFTargetObjectFile::getTTypeGlobalReference().
|
inline |
Definition at line 173 of file MachineModuleInfo.h.
MachineFunction & MachineModuleInfo::getOrCreateMachineFunction | ( | Function & | F | ) |
Returns the MachineFunction constructed for the IR function F
.
Creates a new MachineFunction if none exists yet.
Definition at line 95 of file MachineModuleInfo.cpp.
References F, llvm::TargetMachine::getSubtargetImpl(), I, llvm::MachineFunction::initTargetMachineFunctionInfo(), and llvm::LLVMTargetMachine::registerMachineRegisterInfoCallback().
Referenced by createFrameHelperMachineFunction(), llvm::ThunkInserter< Derived, InsertedThunksTy >::createThunkFunction(), and llvm::MIRParserImpl::parseMachineFunction().
|
inline |
Definition at line 137 of file MachineModuleInfo.h.
References TM.
Referenced by llvm::AVRAsmPrinter::doFinalization(), EmitInlineAsmStr(), llvm::AVRAsmPrinter::emitStartOfAsmFile(), and llvm::MIRParserImpl::parseMachineFunction().
|
inline |
Returns true if valid debug info is present.
Definition at line 178 of file MachineModuleInfo.h.
Referenced by llvm::DebugHandlerBase::beginInstruction(), llvm::CodeViewDebug::beginModule(), llvm::DwarfDebug::beginModule(), llvm::NVPTXAsmPrinter::doFinalization(), llvm::AsmPrinter::doInitialization(), llvm::M68kFrameLowering::eliminateCallFramePseudoInstr(), llvm::M68kFrameLowering::emitPrologue(), llvm::DebugHandlerBase::endInstruction(), llvm::CodeViewDebug::endModule(), llvm::DwarfDebug::endModule(), llvm::AsmPrinter::getFunctionCFISectionType(), hasDebugInfo(), needFuncLabels(), llvm::MachineFunction::needsFrameMoves(), and llvm::FastISel::selectIntrinsicCall().
void MachineModuleInfo::initialize | ( | ) |
Definition at line 41 of file MachineModuleInfo.cpp.
Referenced by llvm::MachineModuleInfoWrapperPass::doInitialization(), and MachineModuleInfo().
void MachineModuleInfo::insertFunction | ( | const Function & | F, |
std::unique_ptr< MachineFunction > && | MF | ||
) |
Add an externally created MachineFunction MF
for F
.
Definition at line 130 of file MachineModuleInfo.cpp.
|
inline |
Definition at line 197 of file MachineModuleInfo.h.
|
inline |
Set the call site currently being processed.
Definition at line 188 of file MachineModuleInfo.h.
|
inline |
Definition at line 182 of file MachineModuleInfo.h.
Referenced by computeUsesMSVCFloatingPoint().
|
inline |
Definition at line 180 of file MachineModuleInfo.h.
Referenced by computeUsesMSVCFloatingPoint(), and llvm::X86AsmPrinter::emitEndOfAsmFile().
|
friend |
Definition at line 76 of file MachineModuleInfo.h.
|
friend |
Definition at line 75 of file MachineModuleInfo.h.