LLVM  3.7.0
Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
llvm::MachineModuleInfo Class Reference

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

#include <MachineModuleInfo.h>

Inheritance diagram for llvm::MachineModuleInfo:
[legend]
Collaboration diagram for llvm::MachineModuleInfo:
[legend]

Classes

struct  VariableDbgInfo
 

Public Types

typedef SmallVector
< VariableDbgInfo, 4 > 
VariableDbgInfoMapTy
 

Public Member Functions

 MachineModuleInfo ()
 
 MachineModuleInfo (const MCAsmInfo &MAI, const MCRegisterInfo &MRI, const MCObjectFileInfo *MOFI)
 
 ~MachineModuleInfo () override
 
bool doInitialization (Module &) override
 doInitialization - Virtual method overridden by subclasses to do any necessary initialization before any pass is run. More...
 
bool doFinalization (Module &) override
 doFinalization - Virtual method overriden by subclasses to do any necessary clean up after all passes have run. More...
 
void EndFunction ()
 EndFunction - Discard function meta information. More...
 
const MCContextgetContext () const
 
MCContextgetContext ()
 
void setModule (const Module *M)
 
const ModulegetModule () const
 
const FunctiongetWinEHParent (const Function *F) const
 
WinEHFuncInfogetWinEHFuncInfo (const Function *F)
 
bool hasWinEHFuncInfo (const Function *F) const
 
template<typename Ty >
Ty & getObjFileInfo ()
 getInfo - Keep track of various per-function pieces of information for backends that would like to do so. More...
 
template<typename Ty >
const Ty & getObjFileInfo () const
 
bool hasDebugInfo () const
 hasDebugInfo - Returns true if valid debug info is present. More...
 
void setDebugInfoAvailability (bool avail)
 
bool callsEHReturn () const
 
void setCallsEHReturn (bool b)
 
bool callsUnwindInit () const
 
void setCallsUnwindInit (bool b)
 
bool usesVAFloatArgument () const
 
void setUsesVAFloatArgument (bool b)
 
bool usesMorestackAddr () const
 
void setUsesMorestackAddr (bool b)
 
const std::vector
< MCCFIInstruction > & 
getFrameInstructions () const
 Returns a reference to a list of cfi instructions in the current function's prologue. More...
 
unsigned
LLVM_ATTRIBUTE_UNUSED_RESULT 
addFrameInst (const MCCFIInstruction &Inst)
 
MCSymbolgetAddrLabelSymbol (const BasicBlock *BB)
 getAddrLabelSymbol - Return the symbol to be used for the specified basic block when its address is taken. More...
 
ArrayRef< MCSymbol * > getAddrLabelSymbolToEmit (const BasicBlock *BB)
 getAddrLabelSymbolToEmit - Return the symbol to be used for the specified basic block when its address is taken. More...
 
void takeDeletedSymbolsForFunction (const Function *F, std::vector< MCSymbol * > &Result)
 takeDeletedSymbolsForFunction - 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. More...
 
LandingPadInfogetOrCreateLandingPadInfo (MachineBasicBlock *LandingPad)
 getOrCreateLandingPadInfo - Find or create an LandingPadInfo for the specified MachineBasicBlock. More...
 
void addInvoke (MachineBasicBlock *LandingPad, MCSymbol *BeginLabel, MCSymbol *EndLabel)
 addInvoke - Provide the begin and end labels of an invoke style call and associate it with a try landing pad block. More...
 
MCSymboladdLandingPad (MachineBasicBlock *LandingPad)
 addLandingPad - Add a new panding pad. More...
 
void addPersonality (MachineBasicBlock *LandingPad, const Function *Personality)
 addPersonality - Provide the personality function for the exception information. More...
 
void addPersonality (const Function *Personality)
 
void addWinEHState (MachineBasicBlock *LandingPad, int State)
 
unsigned getPersonalityIndex () const
 getPersonalityIndex - Get index of the current personality function inside Personalitites array More...
 
const std::vector< const
Function * > & 
getPersonalities () const
 getPersonalities - Return array of personality functions ever seen. More...
 
void addCatchTypeInfo (MachineBasicBlock *LandingPad, ArrayRef< const GlobalValue * > TyInfo)
 addCatchTypeInfo - Provide the catch typeinfo for a landing pad. More...
 
void addFilterTypeInfo (MachineBasicBlock *LandingPad, ArrayRef< const GlobalValue * > TyInfo)
 addFilterTypeInfo - Provide the filter typeinfo for a landing pad. More...
 
void addCleanup (MachineBasicBlock *LandingPad)
 addCleanup - Add a cleanup action for a landing pad. More...
 
void addSEHCatchHandler (MachineBasicBlock *LandingPad, const Function *Filter, const BlockAddress *RecoverLabel)
 
void addSEHCleanupHandler (MachineBasicBlock *LandingPad, const Function *Cleanup)
 
unsigned getTypeIDFor (const GlobalValue *TI)
 getTypeIDFor - Return the type id for the specified typeinfo. More...
 
int getFilterIDFor (std::vector< unsigned > &TyIds)
 getFilterIDFor - Return the id of the filter encoded by TyIds. More...
 
void TidyLandingPads (DenseMap< MCSymbol *, uintptr_t > *LPMap=nullptr)
 TidyLandingPads - Remap landing pad labels and remove any deleted landing pads. More...
 
const std::vector
< LandingPadInfo > & 
getLandingPads () const
 getLandingPads - Return a reference to the landing pad info for the current function. More...
 
void setCallSiteLandingPad (MCSymbol *Sym, ArrayRef< unsigned > Sites)
 setCallSiteLandingPad - Map the landing pad's EH symbol to the call site indexes. More...
 
SmallVectorImpl< unsigned > & getCallSiteLandingPad (MCSymbol *Sym)
 getCallSiteLandingPad - Get the call site indexes for a landing pad EH symbol. More...
 
bool hasCallSiteLandingPad (MCSymbol *Sym)
 hasCallSiteLandingPad - Return true if the landing pad Eh symbol has an associated call site. More...
 
void setCallSiteBeginLabel (MCSymbol *BeginLabel, unsigned Site)
 setCallSiteBeginLabel - Map the begin label for a call site. More...
 
unsigned getCallSiteBeginLabel (MCSymbol *BeginLabel)
 getCallSiteBeginLabel - Get the call site number for a begin label. More...
 
bool hasCallSiteBeginLabel (MCSymbol *BeginLabel)
 hasCallSiteBeginLabel - Return true if the begin label has a call site number associated with it. More...
 
void setCurrentCallSite (unsigned Site)
 setCurrentCallSite - Set the call site currently being processed. More...
 
unsigned getCurrentCallSite ()
 getCurrentCallSite - Get the call site currently being processed, if any. More...
 
const std::vector< const
GlobalValue * > & 
getTypeInfos () const
 getTypeInfos - Return a reference to the C++ typeinfo for the current function. More...
 
const std::vector< unsigned > & getFilterIds () const
 getFilterIds - Return a reference to the typeids encoding filters used in the current function. More...
 
const FunctiongetPersonality () const
 getPersonality - Return a personality function if available. More...
 
EHPersonality getPersonalityType ()
 Classify the personality function amongst known EH styles. More...
 
void setVariableDbgInfo (const DILocalVariable *Var, const DIExpression *Expr, unsigned Slot, const DILocation *Loc)
 setVariableDbgInfo - Collect information used to emit debugging information of a variable. More...
 
VariableDbgInfoMapTygetVariableDbgInfo ()
 
- Public Member Functions inherited from llvm::ImmutablePass
virtual void initializePass ()
 initializePass - This method may be overriden by immutable passes to allow them to perform various initialization actions they require. More...
 
ImmutablePassgetAsImmutablePass () override
 
bool runOnModule (Module &) override
 ImmutablePasses are never run. More...
 
 ImmutablePass (char &pid)
 
 ~ImmutablePass () override
 
- Public Member Functions inherited from llvm::ModulePass
PasscreatePrinterPass (raw_ostream &O, const std::string &Banner) const override
 createPrinterPass - Get a module printer pass. More...
 
void assignPassManager (PMStack &PMS, PassManagerType T) override
 Find appropriate Module Pass Manager in the PM Stack and add self into that manager. More...
 
PassManagerType getPotentialPassManagerType () const override
 Return what kind of Pass Manager can manage this pass. More...
 
 ModulePass (char &pid)
 
 ~ModulePass () override
 
- Public Member Functions inherited from llvm::Pass
 Pass (PassKind K, char &pid)
 
virtual ~Pass ()
 
PassKind getPassKind () const
 
virtual const char * getPassName () const
 getPassName - Return a nice clean name for a pass. More...
 
AnalysisID getPassID () const
 getPassID - Return the PassID number that corresponds to this pass. More...
 
virtual void print (raw_ostream &O, const Module *M) const
 print - Print out the internal state of the pass. More...
 
void dump () const
 
virtual void preparePassManager (PMStack &)
 Check if available pass managers are suitable for this pass or not. More...
 
void setResolver (AnalysisResolver *AR)
 
AnalysisResolvergetResolver () const
 
virtual void getAnalysisUsage (AnalysisUsage &) const
 getAnalysisUsage - This function should be overriden by passes that need analysis information to do their job. More...
 
virtual void releaseMemory ()
 releaseMemory() - This member can be implemented by a pass if it wants to be able to release its memory when it is no longer needed. More...
 
virtual void * getAdjustedAnalysisPointer (AnalysisID ID)
 getAdjustedAnalysisPointer - This method is used when a pass implements an analysis interface through multiple inheritance. More...
 
virtual PMDataManagergetAsPMDataManager ()
 
virtual void verifyAnalysis () const
 verifyAnalysis() - This member can be implemented by a analysis pass to check state of analysis information. More...
 
virtual void dumpPassStructure (unsigned Offset=0)
 
template<typename AnalysisType >
AnalysisType * getAnalysisIfAvailable () const
 getAnalysisIfAvailable<AnalysisType>() - Subclasses use this function to get analysis information that might be around, for example to update it. More...
 
bool mustPreserveAnalysisID (char &AID) const
 mustPreserveAnalysisID - This method serves the same function as getAnalysisIfAvailable, but works if you just have an AnalysisID. More...
 
template<typename AnalysisType >
AnalysisType & getAnalysis () const
 getAnalysis<AnalysisType>() - This function is used by subclasses to get to the analysis information that they claim to use by overriding the getAnalysisUsage function. More...
 
template<typename AnalysisType >
AnalysisType & getAnalysis (Function &F)
 getAnalysis<AnalysisType>() - This function is used by subclasses to get to the analysis information that they claim to use by overriding the getAnalysisUsage function. More...
 
template<typename AnalysisType >
AnalysisType & getAnalysisID (AnalysisID PI) const
 
template<typename AnalysisType >
AnalysisType & getAnalysisID (AnalysisID PI, Function &F)
 

Public Attributes

VariableDbgInfoMapTy VariableDbgInfos
 

Static Public Attributes

static char ID
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::Pass
static const PassInfolookupPassInfo (const void *TI)
 
static const PassInfolookupPassInfo (StringRef Arg)
 
static PasscreatePass (AnalysisID ID)
 

Detailed Description

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

Member Typedef Documentation

Definition at line 200 of file MachineModuleInfo.h.

Constructor & Destructor Documentation

MachineModuleInfo::MachineModuleInfo ( )

Definition at line 196 of file MachineModuleInfo.cpp.

References llvm_unreachable.

MachineModuleInfo::MachineModuleInfo ( const MCAsmInfo MAI,
const MCRegisterInfo MRI,
const MCObjectFileInfo MOFI 
)
MachineModuleInfo::~MachineModuleInfo ( )
override

Definition at line 203 of file MachineModuleInfo.cpp.

Member Function Documentation

void MachineModuleInfo::addCatchTypeInfo ( MachineBasicBlock LandingPad,
ArrayRef< const GlobalValue * >  TyInfo 
)

addCatchTypeInfo - Provide the catch typeinfo for a landing pad.

Definition at line 348 of file MachineModuleInfo.cpp.

References getOrCreateLandingPadInfo(), getTypeIDFor(), N, llvm::ArrayRef< T >::size(), and llvm::LandingPadInfo::TypeIds.

Referenced by llvm::AddLandingPadInfo().

void MachineModuleInfo::addCleanup ( MachineBasicBlock LandingPad)

addCleanup - Add a cleanup action for a landing pad.

Definition at line 369 of file MachineModuleInfo.cpp.

References getOrCreateLandingPadInfo(), and llvm::LandingPadInfo::TypeIds.

Referenced by llvm::AddLandingPadInfo().

void MachineModuleInfo::addFilterTypeInfo ( MachineBasicBlock LandingPad,
ArrayRef< const GlobalValue * >  TyInfo 
)

addFilterTypeInfo - Provide the filter typeinfo for a landing pad.

Definition at line 358 of file MachineModuleInfo.cpp.

References getFilterIDFor(), getOrCreateLandingPadInfo(), getTypeIDFor(), I, llvm::ArrayRef< T >::size(), and llvm::LandingPadInfo::TypeIds.

Referenced by llvm::AddLandingPadInfo().

unsigned LLVM_ATTRIBUTE_UNUSED_RESULT llvm::MachineModuleInfo::addFrameInst ( const MCCFIInstruction Inst)
inline
void MachineModuleInfo::addInvoke ( MachineBasicBlock LandingPad,
MCSymbol BeginLabel,
MCSymbol EndLabel 
)

addInvoke - Provide the begin and end labels of an invoke style call and associate it with a try landing pad block.

Definition at line 301 of file MachineModuleInfo.cpp.

References llvm::LandingPadInfo::BeginLabels, llvm::LandingPadInfo::EndLabels, and getOrCreateLandingPadInfo().

MCSymbol * MachineModuleInfo::addLandingPad ( MachineBasicBlock LandingPad)

addLandingPad - Add a new panding pad.

addLandingPad - Provide the label of a try LandingPad block.

Returns the label ID for the landing pad entry.

Definition at line 310 of file MachineModuleInfo.cpp.

References llvm::MCContext::createTempSymbol(), getOrCreateLandingPadInfo(), and llvm::LandingPadInfo::LandingPadLabel.

void MachineModuleInfo::addPersonality ( MachineBasicBlock LandingPad,
const Function Personality 
)

addPersonality - Provide the personality function for the exception information.

Definition at line 319 of file MachineModuleInfo.cpp.

References getOrCreateLandingPadInfo(), and llvm::LandingPadInfo::Personality.

Referenced by llvm::AddLandingPadInfo(), and llvm::DwarfCFIException::beginFunction().

void MachineModuleInfo::addPersonality ( const Function Personality)

Definition at line 326 of file MachineModuleInfo.cpp.

void MachineModuleInfo::addSEHCatchHandler ( MachineBasicBlock LandingPad,
const Function Filter,
const BlockAddress RecoverLabel 
)
void MachineModuleInfo::addSEHCleanupHandler ( MachineBasicBlock LandingPad,
const Function Cleanup 
)
void MachineModuleInfo::addWinEHState ( MachineBasicBlock LandingPad,
int  State 
)
bool llvm::MachineModuleInfo::callsEHReturn ( ) const
inline
bool llvm::MachineModuleInfo::callsUnwindInit ( ) const
inline
bool MachineModuleInfo::doFinalization ( Module )
overridevirtual

doFinalization - Virtual method overriden by subclasses to do any necessary clean up after all passes have run.

Reimplemented from llvm::Pass.

Definition at line 222 of file MachineModuleInfo.cpp.

References llvm::MCContext::reset().

bool MachineModuleInfo::doInitialization ( Module )
overridevirtual

doInitialization - Virtual method overridden by subclasses to do any necessary initialization before any pass is run.

Reimplemented from llvm::Pass.

Definition at line 206 of file MachineModuleInfo.cpp.

References llvm::Unknown.

void MachineModuleInfo::EndFunction ( )

EndFunction - Discard function meta information.

Definition at line 239 of file MachineModuleInfo.cpp.

References llvm::SmallVectorImpl< T >::clear(), llvm::Unknown, and VariableDbgInfos.

Referenced by llvm::AsmPrinter::EmitFunctionBody().

MCSymbol* llvm::MachineModuleInfo::getAddrLabelSymbol ( const BasicBlock BB)
inline

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

Definition at line 287 of file MachineModuleInfo.h.

References getAddrLabelSymbolToEmit().

Referenced by llvm::AsmPrinter::GetBlockAddressSymbol().

ArrayRef< MCSymbol * > MachineModuleInfo::getAddrLabelSymbolToEmit ( const BasicBlock BB)

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

Definition at line 261 of file MachineModuleInfo.cpp.

References llvm::MMIAddrLabelMap::getAddrLabelSymbolToEmit().

Referenced by llvm::AsmPrinter::EmitBasicBlockStart(), and getAddrLabelSymbol().

unsigned llvm::MachineModuleInfo::getCallSiteBeginLabel ( MCSymbol BeginLabel)
inline

getCallSiteBeginLabel - Get the call site number for a begin label.

Definition at line 398 of file MachineModuleInfo.h.

References hasCallSiteBeginLabel().

Referenced by llvm::EHStreamer::computeCallSiteTable().

SmallVectorImpl<unsigned>& llvm::MachineModuleInfo::getCallSiteLandingPad ( MCSymbol Sym)
inline

getCallSiteLandingPad - Get the call site indexes for a landing pad EH symbol.

Definition at line 380 of file MachineModuleInfo.h.

References hasCallSiteLandingPad().

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

Definition at line 218 of file MachineModuleInfo.h.

unsigned llvm::MachineModuleInfo::getCurrentCallSite ( )
inline

getCurrentCallSite - Get the call site currently being processed, if any.

return zero if none.

Definition at line 415 of file MachineModuleInfo.h.

int MachineModuleInfo::getFilterIDFor ( std::vector< unsigned > &  TyIds)

getFilterIDFor - Return the id of the filter encoded by TyIds.

getFilterIDFor - Return the filter id for the specified typeinfos.

This is function wide.

Definition at line 457 of file MachineModuleInfo.cpp.

References I.

Referenced by addFilterTypeInfo().

const std::vector<unsigned>& llvm::MachineModuleInfo::getFilterIds ( ) const
inline

getFilterIds - Return a reference to the typeids encoding filters used in the current function.

Definition at line 425 of file MachineModuleInfo.h.

Referenced by llvm::EHStreamer::computeActionsTable(), llvm::EHStreamer::emitExceptionTable(), and llvm::EHStreamer::emitTypeInfos().

const std::vector<MCCFIInstruction>& llvm::MachineModuleInfo::getFrameInstructions ( ) const
inline

Returns a reference to a list of cfi instructions in the current function's prologue.

Used to construct frame maps for debug and exception handling comsumers.

Definition at line 274 of file MachineModuleInfo.h.

Referenced by llvm::AsmPrinter::emitCFIInstruction().

const std::vector<LandingPadInfo>& llvm::MachineModuleInfo::getLandingPads ( ) const
inline
const Module* llvm::MachineModuleInfo::getModule ( ) const
inline
template<typename Ty >
Ty& llvm::MachineModuleInfo::getObjFileInfo ( )
inline
template<typename Ty >
const Ty& llvm::MachineModuleInfo::getObjFileInfo ( ) const
inline

Definition at line 240 of file MachineModuleInfo.h.

LandingPadInfo & MachineModuleInfo::getOrCreateLandingPadInfo ( MachineBasicBlock LandingPad)
const std::vector<const Function *>& llvm::MachineModuleInfo::getPersonalities ( ) const
inline

getPersonalities - Return array of personality functions ever seen.

Definition at line 332 of file MachineModuleInfo.h.

Referenced by llvm::DwarfCFIException::endModule().

const Function * MachineModuleInfo::getPersonality ( ) const

getPersonality - Return a personality function if available.

getPersonality - Return the personality function for the current function.

The presence of one is required to emit exception handling info.

Definition at line 486 of file MachineModuleInfo.cpp.

Referenced by llvm::DwarfCFIException::beginFunction(), llvm::ARMException::endFunction(), and getPersonalityType().

unsigned MachineModuleInfo::getPersonalityIndex ( ) const

getPersonalityIndex - Get index of the current personality function inside Personalitites array

getPersonalityIndex - Return unique index for current personality function.

NULL/first personality function should always get zero index.

Definition at line 503 of file MachineModuleInfo.cpp.

EHPersonality MachineModuleInfo::getPersonalityType ( )

Classify the personality function amongst known EH styles.

Definition at line 493 of file MachineModuleInfo.cpp.

References llvm::classifyEHPersonality(), F(), getPersonality(), and llvm::Unknown.

unsigned MachineModuleInfo::getTypeIDFor ( const GlobalValue TI)

getTypeIDFor - Return the type id for the specified typeinfo.

This is function wide.

Definition at line 447 of file MachineModuleInfo.cpp.

References N.

Referenced by addCatchTypeInfo(), and addFilterTypeInfo().

const std::vector<const GlobalValue *>& llvm::MachineModuleInfo::getTypeInfos ( ) const
inline

getTypeInfos - Return a reference to the C++ typeinfo for the current function.

Definition at line 419 of file MachineModuleInfo.h.

Referenced by llvm::EHStreamer::emitExceptionTable(), and llvm::EHStreamer::emitTypeInfos().

VariableDbgInfoMapTy& llvm::MachineModuleInfo::getVariableDbgInfo ( )
inline

Definition at line 443 of file MachineModuleInfo.h.

References VariableDbgInfos.

WinEHFuncInfo & MachineModuleInfo::getWinEHFuncInfo ( const Function F)
const Function * MachineModuleInfo::getWinEHParent ( const Function F) const
bool llvm::MachineModuleInfo::hasCallSiteBeginLabel ( MCSymbol BeginLabel)
inline

hasCallSiteBeginLabel - Return true if the begin label has a call site number associated with it.

Definition at line 406 of file MachineModuleInfo.h.

Referenced by getCallSiteBeginLabel().

bool llvm::MachineModuleInfo::hasCallSiteLandingPad ( MCSymbol Sym)
inline

hasCallSiteLandingPad - Return true if the landing pad Eh symbol has an associated call site.

Definition at line 388 of file MachineModuleInfo.h.

Referenced by getCallSiteLandingPad().

bool llvm::MachineModuleInfo::hasDebugInfo ( ) const
inline
bool llvm::MachineModuleInfo::hasWinEHFuncInfo ( const Function F) const
inline

Definition at line 225 of file MachineModuleInfo.h.

References getWinEHParent().

void llvm::MachineModuleInfo::setCallsEHReturn ( bool  b)
inline

Definition at line 250 of file MachineModuleInfo.h.

void llvm::MachineModuleInfo::setCallSiteBeginLabel ( MCSymbol BeginLabel,
unsigned  Site 
)
inline

setCallSiteBeginLabel - Map the begin label for a call site.

Definition at line 393 of file MachineModuleInfo.h.

void MachineModuleInfo::setCallSiteLandingPad ( MCSymbol Sym,
ArrayRef< unsigned Sites 
)

setCallSiteLandingPad - Map the landing pad's EH symbol to the call site indexes.

Definition at line 440 of file MachineModuleInfo.cpp.

References llvm::ArrayRef< T >::begin(), and llvm::ArrayRef< T >::end().

void llvm::MachineModuleInfo::setCallsUnwindInit ( bool  b)
inline

Definition at line 253 of file MachineModuleInfo.h.

void llvm::MachineModuleInfo::setCurrentCallSite ( unsigned  Site)
inline

setCurrentCallSite - Set the call site currently being processed.

Definition at line 411 of file MachineModuleInfo.h.

void llvm::MachineModuleInfo::setDebugInfoAvailability ( bool  avail)
inline
void llvm::MachineModuleInfo::setModule ( const Module M)
inline

Definition at line 220 of file MachineModuleInfo.h.

void llvm::MachineModuleInfo::setUsesMorestackAddr ( bool  b)
inline
void llvm::MachineModuleInfo::setUsesVAFloatArgument ( bool  b)
inline

Definition at line 259 of file MachineModuleInfo.h.

Referenced by llvm::ComputeUsesVAFloatArgument().

void llvm::MachineModuleInfo::setVariableDbgInfo ( const DILocalVariable Var,
const DIExpression Expr,
unsigned  Slot,
const DILocation Loc 
)
inline

setVariableDbgInfo - Collect information used to emit debugging information of a variable.

Definition at line 438 of file MachineModuleInfo.h.

References llvm::SmallVectorImpl< T >::emplace_back(), and VariableDbgInfos.

Referenced by llvm::FunctionLoweringInfo::set().

void MachineModuleInfo::takeDeletedSymbolsForFunction ( const Function F,
std::vector< MCSymbol * > &  Result 
)

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

Definition at line 274 of file MachineModuleInfo.cpp.

void MachineModuleInfo::TidyLandingPads ( DenseMap< MCSymbol *, uintptr_t > *  LPMap = nullptr)
bool llvm::MachineModuleInfo::usesMorestackAddr ( ) const
inline

Definition at line 263 of file MachineModuleInfo.h.

Referenced by llvm::AsmPrinter::doFinalization().

bool llvm::MachineModuleInfo::usesVAFloatArgument ( ) const
inline

Member Data Documentation

char llvm::MachineModuleInfo::ID
static

Definition at line 188 of file MachineModuleInfo.h.

VariableDbgInfoMapTy llvm::MachineModuleInfo::VariableDbgInfos

Definition at line 201 of file MachineModuleInfo.h.

Referenced by EndFunction(), getVariableDbgInfo(), and setVariableDbgInfo().


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