LLVM: llvm::LexicalScopes Class Reference (original) (raw)

This class provides interface to collect and use lexical scoping information from machine instruction. More...

#include "[llvm/CodeGen/LexicalScopes.h](LexicalScopes%5F8h%5Fsource.html)"

Public Member Functions
LexicalScopes ()=default
LLVM_ABI void initialize (const Module &)
Scan module to build subprogram-to-function map.
LLVM_ABI void scanFunction (const MachineFunction &)
Scan machine function and constuct lexical scope nest, resets the instance if necessary.
LLVM_ABI void resetModule ()
Reset the instance so that it's prepared for another module.
LLVM_ABI void resetFunction ()
Reset the instance so that it's prepared for another function.
bool empty ()
Return true if there is any lexical scope information available.
LexicalScope * getCurrentFunctionScope () const
Return lexical scope for the current function.
LLVM_ABI void getMachineBasicBlocks (const DILocation *DL, SmallPtrSetImpl< const MachineBasicBlock * > &MBBs)
Populate given set using machine basic blocks which have machine instructions that belong to lexical scope identified by DebugLoc.
LLVM_ABI bool dominates (const DILocation *DL, MachineBasicBlock *MBB)
Return true if DebugLoc's lexical scope dominates at least one machine instruction's lexical scope in a given machine basic block.
LLVM_ABI LexicalScope * findLexicalScope (const DILocation *DL)
Find lexical scope, either regular or inlined, for the given DebugLoc.
ArrayRef< LexicalScope * > getAbstractScopesList () const
Return a reference to list of abstract scopes.
LexicalScope * findAbstractScope (const DILocalScope *N)
Find an abstract scope or return null.
LexicalScope * findInlinedScope (const DILocalScope *N, const DILocation *IA)
Find an inlined scope for the given scope/inlined-at.
LexicalScope * findLexicalScope (const DILocalScope *N)
Find regular lexical scope or return null.
LLVM_ABI LexicalScope * getOrCreateAbstractScope (const DILocalScope *Scope)
Find or create an abstract lexical scope.
const Function * getFunction (const DISubprogram *SP) const
Get function to which the given subprogram is attached, if exists.

This class provides interface to collect and use lexical scoping information from machine instruction.

Definition at line 140 of file LexicalScopes.h.

llvm::LexicalScopes::LexicalScopes ( ) default

dominates()

empty()

bool llvm::LexicalScopes::empty ( ) inline

Return true if there is any lexical scope information available.

Definition at line 158 of file LexicalScopes.h.

findAbstractScope()

Find an abstract scope or return null.

Definition at line 185 of file LexicalScopes.h.

References I, and N.

findInlinedScope()

findLexicalScope() [1/2]

Find regular lexical scope or return null.

Definition at line 197 of file LexicalScopes.h.

References I, and N.

findLexicalScope() [2/2]

getAbstractScopesList()

Return a reference to list of abstract scopes.

Definition at line 180 of file LexicalScopes.h.

getCurrentFunctionScope()

LexicalScope * llvm::LexicalScopes::getCurrentFunctionScope ( ) const inline

Return lexical scope for the current function.

Definition at line 161 of file LexicalScopes.h.

getFunction()

Get function to which the given subprogram is attached, if exists.

Definition at line 206 of file LexicalScopes.h.

getMachineBasicBlocks()

getOrCreateAbstractScope()

initialize()

resetFunction()

void LexicalScopes::resetFunction ( )

resetModule()

void LexicalScopes::resetModule ( )

scanFunction()


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