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 TargetMachine *TM=nullptr)
 
 MachineModuleInfo (const TargetMachine *TM, MCContext *ExtContext)
 
 MachineModuleInfo (MachineModuleInfo &&MMII)
 
 ~MachineModuleInfo ()
 
void initialize ()
 
void finalize ()
 
const TargetMachinegetTarget () 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 TargetMachine TM = nullptr)
explicit

Definition at line 51 of file MachineModuleInfo.cpp.

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

◆ MachineModuleInfo() [2/3]

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

Definition at line 59 of file MachineModuleInfo.cpp.

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

◆ 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 128 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 llvm::AArch64InstrInfo::getOutliningTypeImpl(), llvm::ARMBaseInstrInfo::getOutliningTypeImpl(), and llvm::MIRParserImpl::parseMachineFunction().

◆ 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 163 of file MachineModuleInfo.h.

◆ getOrCreateMachineFunction()

MachineFunction & MachineModuleInfo::getOrCreateMachineFunction ( Function F)

◆ getTarget()

const TargetMachine & 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: