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.
◆ findInlinedScope()
◆ findLexicalScope() [1/2]
Find regular lexical scope or return null.
Definition at line 197 of file LexicalScopes.h.
◆ 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:
- include/llvm/CodeGen/LexicalScopes.h
- lib/CodeGen/LexicalScopes.cpp