LLVM API Documentation
#include <LexicalScopes.h>
Public Member Functions | |
LexicalScope (LexicalScope *P, const MDNode *D, const MDNode *I, bool A) | |
virtual | ~LexicalScope () |
LexicalScope * | getParent () const |
const MDNode * | getDesc () const |
const MDNode * | getInlinedAt () const |
const MDNode * | getScopeNode () const |
bool | isAbstractScope () const |
SmallVectorImpl< LexicalScope * > & | getChildren () |
SmallVectorImpl< InsnRange > & | getRanges () |
void | addChild (LexicalScope *S) |
addChild - Add a child scope. More... | |
void | openInsnRange (const MachineInstr *MI) |
openInsnRange - This scope covers instruction range starting from MI. More... | |
void | extendInsnRange (const MachineInstr *MI) |
void | closeInsnRange (LexicalScope *NewScope=NULL) |
bool | dominates (const LexicalScope *S) const |
dominates - Return true if current scope dominates given lexical scope. More... | |
unsigned | getDFSOut () const |
void | setDFSOut (unsigned O) |
unsigned | getDFSIn () const |
void | setDFSIn (unsigned I) |
void | dump (unsigned Indent=0) const |
dump - print lexical scope. More... | |
LexicalScope - This class is used to track scope information.
Definition at line 155 of file LexicalScopes.h.
|
inline |
Definition at line 159 of file LexicalScopes.h.
References addChild().
|
inlinevirtual |
Definition at line 166 of file LexicalScopes.h.
|
inline |
addChild - Add a child scope.
Definition at line 178 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 201 of file LexicalScopes.h.
References closeInsnRange(), dominates(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by closeInsnRange().
|
inline |
dominates - Return true if current scope dominates given lexical scope.
Definition at line 213 of file LexicalScopes.h.
References getDFSIn(), and getDFSOut().
Referenced by closeInsnRange(), and llvm::LexicalScopes::dominates().
void LexicalScope::dump | ( | unsigned | Indent = 0 | ) | const |
dump - print lexical scope.
dump - Print data structures.
Definition at line 317 of file LexicalScopes.cpp.
References llvm::dbgs(), llvm::Value::dump(), llvm::SmallVectorBase::empty(), llvm::raw_ostream::indent(), and llvm::SmallVectorTemplateCommon< T >::size().
|
inline |
extendInsnRange - Extend the current instruction range covered by this scope.
Definition at line 191 of file LexicalScopes.h.
References extendInsnRange(), and llvm::A64CC::MI.
Referenced by extendInsnRange().
|
inline |
Definition at line 174 of file LexicalScopes.h.
|
inline |
Definition at line 170 of file LexicalScopes.h.
|
inline |
Definition at line 224 of file LexicalScopes.h.
Referenced by dominates().
|
inline |
Definition at line 222 of file LexicalScopes.h.
Referenced by dominates().
|
inline |
Definition at line 171 of file LexicalScopes.h.
|
inline |
Definition at line 169 of file LexicalScopes.h.
|
inline |
Definition at line 175 of file LexicalScopes.h.
Referenced by llvm::LexicalScopes::getMachineBasicBlocks().
|
inline |
Definition at line 172 of file LexicalScopes.h.
Referenced by llvm::DwarfDebug::beginFunction(), and llvm::DwarfDebug::endFunction().
|
inline |
Definition at line 173 of file LexicalScopes.h.
|
inline |
openInsnRange - This scope covers instruction range starting from MI.
Definition at line 181 of file LexicalScopes.h.
References llvm::A64CC::MI, and openInsnRange().
Referenced by openInsnRange().
|
inline |
Definition at line 225 of file LexicalScopes.h.
References I.
|
inline |
Definition at line 223 of file LexicalScopes.h.