LLVM 20.0.0git
|
LexicalScope - This class is used to track scope information. More...
#include "llvm/CodeGen/LexicalScopes.h"
Public Member Functions | |
LexicalScope (LexicalScope *P, const DILocalScope *D, const DILocation *I, bool A) | |
LexicalScope * | getParent () const |
const MDNode * | getDesc () const |
const DILocation * | getInlinedAt () const |
const DILocalScope * | getScopeNode () const |
bool | isAbstractScope () const |
SmallVectorImpl< LexicalScope * > & | getChildren () |
SmallVectorImpl< InsnRange > & | getRanges () |
void | addChild (LexicalScope *S) |
addChild - Add a child scope. | |
void | openInsnRange (const MachineInstr *MI) |
openInsnRange - This scope covers instruction range starting from MI. | |
void | extendInsnRange (const MachineInstr *MI) |
extendInsnRange - Extend the current instruction range covered by this scope. | |
void | closeInsnRange (LexicalScope *NewScope=nullptr) |
closeInsnRange - Create a range based on FirstInsn and LastInsn collected until now. | |
bool | dominates (const LexicalScope *S) const |
dominates - Return true if current scope dominates given lexical scope. | |
unsigned | getDFSOut () const |
void | setDFSOut (unsigned O) |
unsigned | getDFSIn () const |
void | setDFSIn (unsigned I) |
void | dump (unsigned Indent=0) const |
dump - print lexical scope. | |
LexicalScope - This class is used to track scope information.
Definition at line 44 of file LexicalScopes.h.
|
inline |
Definition at line 46 of file LexicalScopes.h.
References addChild(), assert(), D, I, and llvm::DICompileUnit::NoDebug.
|
inline |
addChild - Add a child scope.
Definition at line 69 of file LexicalScopes.h.
Referenced by LexicalScope().
|
inline |
closeInsnRange - Create a range based on FirstInsn and LastInsn collected until now.
This is used when a new scope is encountered while walking machine instructions.
Definition at line 92 of file LexicalScopes.h.
References assert(), closeInsnRange(), dominates(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by closeInsnRange().
|
inline |
dominates - Return true if current scope dominates given lexical scope.
Definition at line 104 of file LexicalScopes.h.
References getDFSIn(), and getDFSOut().
Referenced by closeInsnRange().
LLVM_DUMP_METHOD void LexicalScope::dump | ( | unsigned | Indent = 0 | ) | const |
dump - print lexical scope.
Definition at line 331 of file LexicalScopes.cpp.
References llvm::dbgs(), llvm::raw_ostream::indent(), and N.
|
inline |
extendInsnRange - Extend the current instruction range covered by this scope.
Definition at line 82 of file LexicalScopes.h.
References assert(), extendInsnRange(), and MI.
Referenced by extendInsnRange().
|
inline |
Definition at line 65 of file LexicalScopes.h.
Referenced by llvm::DebugHandlerBase::identifyScopeMarkers().
Definition at line 61 of file LexicalScopes.h.
|
inline |
Definition at line 115 of file LexicalScopes.h.
Referenced by dominates().
|
inline |
Definition at line 113 of file LexicalScopes.h.
Referenced by dominates().
|
inline |
Definition at line 62 of file LexicalScopes.h.
|
inline |
Definition at line 60 of file LexicalScopes.h.
|
inline |
Definition at line 66 of file LexicalScopes.h.
Referenced by llvm::DebugHandlerBase::identifyScopeMarkers(), and validThroughout().
|
inline |
Definition at line 63 of file LexicalScopes.h.
Referenced by llvm::DwarfDebug::beginFunctionImpl(), and llvm::DwarfDebug::endFunctionImpl().
|
inline |
Definition at line 64 of file LexicalScopes.h.
Referenced by llvm::DebugHandlerBase::identifyScopeMarkers().
|
inline |
openInsnRange - This scope covers instruction range starting from MI.
Definition at line 72 of file LexicalScopes.h.
References MI, and openInsnRange().
Referenced by openInsnRange().
|
inline |
Definition at line 116 of file LexicalScopes.h.
References I.
|
inline |
Definition at line 114 of file LexicalScopes.h.