LLVM 20.0.0git
Public Member Functions | Friends | List of all members
llvm::MachineModuleInfo Class Reference

This class contains meta information specific to a module. More...

#include "llvm/CodeGen/MachineModuleInfo.h"

Public Member Functions

 MachineModuleInfo (const LLVMTargetMachine *TM=nullptr)
 
 MachineModuleInfo (const LLVMTargetMachine *TM, MCContext *ExtContext)
 
 MachineModuleInfo (MachineModuleInfo &&MMII)
 
 ~MachineModuleInfo ()
 
void initialize ()
 
void finalize ()
 
const LLVMTargetMachinegetTarget () const
 
const MCContextgetContext () const
 
MCContextgetContext ()
 
const ModulegetModule () const
 
MachineFunctiongetOrCreateMachineFunction (Function &F)
 Returns the MachineFunction constructed for the IR function F.
 
MachineFunctiongetMachineFunction (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<typename Ty >
Ty & getObjFileInfo ()
 Keep track of various per-module pieces of information for backends that would like to do so.
 
template<typename Ty >
const Ty & getObjFileInfo () const
 

Friends

class MachineModuleInfoWrapperPass
 
class MachineModuleAnalysis
 

Detailed 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.

Definition at line 82 of file MachineModuleInfo.h.

Constructor & Destructor Documentation

◆ MachineModuleInfo() [1/3]

MachineModuleInfo::MachineModuleInfo ( const LLVMTargetMachine TM = nullptr)
explicit

Definition at line 51 of file MachineModuleInfo.cpp.

References initialize(), llvm::MCContext::setObjectFileInfo(), and TM.

◆ MachineModuleInfo() [2/3]

MachineModuleInfo::MachineModuleInfo ( const LLVMTargetMachine TM,
MCContext ExtContext 
)
explicit

Definition at line 59 of file MachineModuleInfo.cpp.

References initialize(), llvm::MCContext::setObjectFileInfo(), and TM.

◆ MachineModuleInfo() [3/3]

MachineModuleInfo::MachineModuleInfo ( MachineModuleInfo &&  MMII)

◆ ~MachineModuleInfo()

MachineModuleInfo::~MachineModuleInfo ( )

Definition at line 69 of file MachineModuleInfo.cpp.

References finalize().

Member Function Documentation

◆ deleteMachineFunctionFor()

void MachineModuleInfo::deleteMachineFunctionFor ( Function F)

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

Definition at line 106 of file MachineModuleInfo.cpp.

References F.

◆ finalize()

void MachineModuleInfo::finalize ( )

◆ getContext() [1/2]

MCContext & llvm::MachineModuleInfo::getContext ( )
inline

Definition at line 129 of file MachineModuleInfo.h.

◆ getContext() [2/2]

const MCContext & llvm::MachineModuleInfo::getContext ( ) const
inline

◆ getMachineFunction()

MachineFunction * MachineModuleInfo::getMachineFunction ( const Function F) const

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

NOTE: New pass manager clients shall not use this method to get the MachineFunction, use MachineFunctionAnalysis instead.

Definition at line 72 of file MachineModuleInfo.cpp.

References F, and I.

Referenced by addDecorations(), collectReqs(), llvm::AArch64InstrInfo::getOutliningTypeImpl(), llvm::ARMBaseInstrInfo::getOutliningTypeImpl(), llvm::MIRParserImpl::parseMachineFunction(), and llvm::AMDGPUResourceUsageAnalysis::runOnModule().

◆ getModule()

const Module * llvm::MachineModuleInfo::getModule ( ) const
inline

◆ getObjFileInfo() [1/2]

template<typename Ty >
Ty & llvm::MachineModuleInfo::getObjFileInfo ( )
inline

◆ getObjFileInfo() [2/2]

template<typename Ty >
const Ty & llvm::MachineModuleInfo::getObjFileInfo ( ) const
inline

Definition at line 164 of file MachineModuleInfo.h.

◆ getOrCreateMachineFunction()

MachineFunction & MachineModuleInfo::getOrCreateMachineFunction ( Function F)

◆ getTarget()

const LLVMTargetMachine & llvm::MachineModuleInfo::getTarget ( ) const
inline

◆ initialize()

void MachineModuleInfo::initialize ( )

◆ insertFunction()

void MachineModuleInfo::insertFunction ( const Function F,
std::unique_ptr< MachineFunction > &&  MF 
)

Add an externally created MachineFunction MF for F.

Definition at line 112 of file MachineModuleInfo.cpp.

References assert(), F, and I.

Friends And Related Function Documentation

◆ MachineModuleAnalysis

friend class MachineModuleAnalysis
friend

Definition at line 84 of file MachineModuleInfo.h.

◆ MachineModuleInfoWrapperPass

friend class MachineModuleInfoWrapperPass
friend

Definition at line 83 of file MachineModuleInfo.h.


The documentation for this class was generated from the following files: