|
LLVM
3.7.0
|
MachineModuleInfo - This class contains meta information specific to a module. More...
#include <MachineModuleInfo.h>
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 MCContext & | getContext () const |
| MCContext & | getContext () |
| void | setModule (const Module *M) |
| const Module * | getModule () const |
| const Function * | getWinEHParent (const Function *F) const |
| WinEHFuncInfo & | getWinEHFuncInfo (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) |
| MCSymbol * | getAddrLabelSymbol (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... | |
| LandingPadInfo & | getOrCreateLandingPadInfo (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... | |
| MCSymbol * | addLandingPad (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 Function * | getPersonality () 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... | |
| VariableDbgInfoMapTy & | getVariableDbgInfo () |
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... | |
| ImmutablePass * | getAsImmutablePass () override |
| bool | runOnModule (Module &) override |
| ImmutablePasses are never run. More... | |
| ImmutablePass (char &pid) | |
| ~ImmutablePass () override | |
Public Member Functions inherited from llvm::ModulePass | |
| Pass * | createPrinterPass (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) |
| AnalysisResolver * | getResolver () 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 PMDataManager * | getAsPMDataManager () |
| 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 PassInfo * | lookupPassInfo (const void *TI) |
| static const PassInfo * | lookupPassInfo (StringRef Arg) |
| static Pass * | createPass (AnalysisID ID) |
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.
Definition at line 200 of file MachineModuleInfo.h.
| MachineModuleInfo::MachineModuleInfo | ( | ) |
Definition at line 196 of file MachineModuleInfo.cpp.
References llvm_unreachable.
| MachineModuleInfo::MachineModuleInfo | ( | const MCAsmInfo & | MAI, |
| const MCRegisterInfo & | MRI, | ||
| const MCObjectFileInfo * | MOFI | ||
| ) |
Definition at line 189 of file MachineModuleInfo.cpp.
References llvm::PassRegistry::getPassRegistry(), and llvm::initializeMachineModuleInfoPass().
|
override |
Definition at line 203 of file MachineModuleInfo.cpp.
| 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().
|
inline |
Definition at line 279 of file MachineModuleInfo.h.
Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::AArch64FrameLowering::emitCalleeSavedFrameMoves(), EmitCfiOffset(), EmitDefCfaOffset(), EmitDefCfaRegister(), llvm::Mips16FrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::SparcFrameLowering::emitPrologue(), llvm::AArch64FrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), and llvm::SystemZFrameLowering::emitPrologue().
| 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().
Definition at line 326 of file MachineModuleInfo.cpp.
| void MachineModuleInfo::addSEHCatchHandler | ( | MachineBasicBlock * | LandingPad, |
| const Function * | Filter, | ||
| const BlockAddress * | RecoverLabel | ||
| ) |
Definition at line 374 of file MachineModuleInfo.cpp.
References llvm::SEHHandler::FilterOrFinally, getOrCreateLandingPadInfo(), llvm::SEHHandler::RecoverBA, and llvm::LandingPadInfo::SEHHandlers.
| void MachineModuleInfo::addSEHCleanupHandler | ( | MachineBasicBlock * | LandingPad, |
| const Function * | Cleanup | ||
| ) |
Definition at line 384 of file MachineModuleInfo.cpp.
References llvm::Cleanup, llvm::SEHHandler::FilterOrFinally, getOrCreateLandingPadInfo(), llvm::SEHHandler::RecoverBA, and llvm::LandingPadInfo::SEHHandlers.
| void MachineModuleInfo::addWinEHState | ( | MachineBasicBlock * | LandingPad, |
| int | State | ||
| ) |
Definition at line 339 of file MachineModuleInfo.cpp.
References getOrCreateLandingPadInfo(), and llvm::LandingPadInfo::WinEHState.
Referenced by llvm::FunctionLoweringInfo::set().
|
inline |
Definition at line 249 of file MachineModuleInfo.h.
Referenced by llvm::XCoreFrameLowering::determineCalleeSaves(), findDeadCallerSavedReg(), llvm::X86RegisterInfo::getCalleeSavedRegs(), and llvm::X86FrameLowering::hasFP().
|
inline |
Definition at line 252 of file MachineModuleInfo.h.
Referenced by llvm::XCoreFrameLowering::determineCalleeSaves(), llvm::TargetFrameLowering::determineCalleeSaves(), and llvm::X86FrameLowering::hasFP().
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().
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().
|
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().
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().
|
inline |
getCallSiteLandingPad - Get the call site indexes for a landing pad EH symbol.
Definition at line 380 of file MachineModuleInfo.h.
References hasCallSiteLandingPad().
Definition at line 217 of file MachineModuleInfo.h.
Referenced by addPassesToGenerateCode(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::DwarfDebug::beginInstruction(), llvm::AArch64FrameLowering::emitCalleeSavedFrameMoves(), llvm::X86FrameLowering::emitCalleeSavedFrameMoves(), emitDebugValueComment(), llvm::AsmPrinter::EmitDwarfRegOp(), llvm::X86AsmPrinter::EmitEndOfAsmFile(), llvm::AsmPrinter::emitImplicitDef(), emitKill(), llvm::Mips16FrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::SparcFrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), llvm::AArch64FrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), llvm::SystemZFrameLowering::emitPrologue(), llvm::X86AsmPrinter::EmitStartOfAsmFile(), llvm::DwarfDebug::endInstruction(), LowerINTRINSIC_WO_CHAIN(), and recoverFramePointer().
|
inline |
Definition at line 218 of file MachineModuleInfo.h.
|
inline |
getCurrentCallSite - Get the call site currently being processed, if any.
return zero if none.
Definition at line 415 of file MachineModuleInfo.h.
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().
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().
|
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().
|
inline |
getLandingPads - Return a reference to the landing pad info for the current function.
Definition at line 370 of file MachineModuleInfo.h.
Referenced by llvm::DwarfCFIException::beginFunction(), llvm::WinException::beginFunction(), llvm::EHStreamer::emitExceptionTable(), llvm::AsmPrinter::EmitFunctionBody(), llvm::ARMException::endFunction(), llvm::DwarfCFIExceptionBase::markFunctionEnd(), and llvm::AsmPrinter::SetupMachineFunction().
Definition at line 221 of file MachineModuleInfo.h.
Referenced by llvm::DwarfDebug::beginModule(), llvm::DwarfDebug::DwarfDebug(), EmitGCCInlineAsmStr(), EmitMSInlineAsmStr(), llvm::WinException::endModule(), and llvm::WinCodeViewLineTables::WinCodeViewLineTables().
|
inline |
getInfo - Keep track of various per-function pieces of information for backends that would like to do so.
Definition at line 233 of file MachineModuleInfo.h.
Referenced by llvm::AsmPrinter::doFinalization(), llvm::ARMAsmPrinter::EmitEndOfAsmFile(), llvm::X86AsmPrinter::EmitEndOfAsmFile(), llvm::TargetLoweringObjectFileMachO::getCFIPersonalitySymbol(), llvm::TargetLoweringObjectFileMachO::getIndirectSymViaGOTPCRel(), getMachOMMI(), llvm::SparcELFTargetObjectFile::getTTypeGlobalReference(), llvm::TargetLoweringObjectFileELF::getTTypeGlobalReference(), llvm::TargetLoweringObjectFileMachO::getTTypeGlobalReference(), and printSymbolOperand().
|
inline |
Definition at line 240 of file MachineModuleInfo.h.
| LandingPadInfo & MachineModuleInfo::getOrCreateLandingPadInfo | ( | MachineBasicBlock * | LandingPad | ) |
getOrCreateLandingPadInfo - Find or create an LandingPadInfo for the specified MachineBasicBlock.
Definition at line 287 of file MachineModuleInfo.cpp.
References llvm::LandingPadInfo::LandingPadBlock, and N.
Referenced by addCatchTypeInfo(), addCleanup(), addFilterTypeInfo(), addInvoke(), addLandingPad(), addPersonality(), addSEHCatchHandler(), addSEHCleanupHandler(), and addWinEHState().
getPersonalities - Return array of personality functions ever seen.
Definition at line 332 of file MachineModuleInfo.h.
Referenced by llvm::DwarfCFIException::endModule().
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().
|
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().
|
inline |
Definition at line 443 of file MachineModuleInfo.h.
References VariableDbgInfos.
| WinEHFuncInfo & MachineModuleInfo::getWinEHFuncInfo | ( | const Function * | F | ) |
Definition at line 531 of file MachineModuleInfo.cpp.
References getWinEHParent().
Referenced by llvm::WinException::beginFunction(), and llvm::FunctionLoweringInfo::set().
Definition at line 523 of file MachineModuleInfo.cpp.
References llvm::StringRef::empty(), llvm::Function::getFnAttribute(), llvm::Module::getFunction(), llvm::Value::getName(), llvm::GlobalValue::getParent(), and llvm::Attribute::getValueAsString().
Referenced by llvm::WinException::beginFunction(), getWinEHFuncInfo(), hasWinEHFuncInfo(), and llvm::FunctionLoweringInfo::set().
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().
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().
|
inline |
hasDebugInfo - Returns true if valid debug info is present.
Definition at line 246 of file MachineModuleInfo.h.
Referenced by llvm::WinCodeViewLineTables::beginFunction(), llvm::DwarfDebug::beginFunction(), llvm::AsmPrinter::EmitFunctionBody(), llvm::AArch64FrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::DwarfDebug::endFunction(), llvm::DwarfDebug::endModule(), llvm::AsmPrinter::needsCFIMoves(), llvm::XCoreRegisterInfo::needsFrameMoves(), llvm::FastISel::selectIntrinsicCall(), llvm::FunctionLoweringInfo::set(), and llvm::AsmPrinter::SetupMachineFunction().
Definition at line 225 of file MachineModuleInfo.h.
References getWinEHParent().
|
inline |
Definition at line 250 of file MachineModuleInfo.h.
setCallSiteBeginLabel - Map the begin label for a call site.
Definition at line 393 of file MachineModuleInfo.h.
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().
|
inline |
Definition at line 253 of file MachineModuleInfo.h.
|
inline |
setCurrentCallSite - Set the call site currently being processed.
Definition at line 411 of file MachineModuleInfo.h.
|
inline |
Definition at line 247 of file MachineModuleInfo.h.
Referenced by llvm::DwarfDebug::beginModule(), and llvm::WinCodeViewLineTables::WinCodeViewLineTables().
Definition at line 220 of file MachineModuleInfo.h.
|
inline |
Definition at line 267 of file MachineModuleInfo.h.
Referenced by llvm::X86FrameLowering::adjustForSegmentedStacks().
|
inline |
Definition at line 259 of file MachineModuleInfo.h.
Referenced by llvm::ComputeUsesVAFloatArgument().
|
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.
TidyLandingPads - Remap landing pad labels and remove any deleted landing pads.
Definition at line 395 of file MachineModuleInfo.cpp.
References llvm::LandingPadInfo::BeginLabels, llvm::LandingPadInfo::EndLabels, llvm::MCSymbol::isDefined(), llvm::LandingPadInfo::LandingPadBlock, llvm::LandingPadInfo::LandingPadLabel, and llvm::LandingPadInfo::TypeIds.
Referenced by llvm::WinException::endFunction(), and llvm::DwarfCFIExceptionBase::markFunctionEnd().
|
inline |
Definition at line 263 of file MachineModuleInfo.h.
Referenced by llvm::AsmPrinter::doFinalization().
|
inline |
Definition at line 255 of file MachineModuleInfo.h.
Referenced by llvm::ComputeUsesVAFloatArgument(), and llvm::X86AsmPrinter::EmitEndOfAsmFile().
|
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().
1.8.6