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

This class is used to track scope information. More...

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

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)
Add a child scope.
void openInsnRange (const MachineInstr *MI)
This scope covers instruction range starting from MI.
void extendInsnRange (const MachineInstr *MI)
Extend the current instruction range covered by this scope.
void closeInsnRange (LexicalScope *NewScope=nullptr)
Create a range based on FirstInsn and LastInsn collected until now.
bool dominates (const LexicalScope *S) const
Return true if current scope dominates given lexical scope.
unsigned getDFSOut () const
void setDFSOut (unsigned O)
unsigned getDFSIn () const
void setDFSIn (unsigned I)
LLVM_ABI void dump (unsigned Indent=0) const
Print lexical scope.

This class is used to track scope information.

Definition at line 44 of file LexicalScopes.h.

Definition at line 46 of file LexicalScopes.h.

References A(), assert(), D(), I, LexicalScope(), llvm::DICompileUnit::NoDebug, and P.

Referenced by addChild(), closeInsnRange(), dominates(), dump(), getParent(), and LexicalScope().

addChild()

void llvm::LexicalScope::addChild ( LexicalScope * S) inline

closeInsnRange()

void llvm::LexicalScope::closeInsnRange ( LexicalScope * NewScope = nullptr) inline

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 91 of file LexicalScopes.h.

References assert(), and LexicalScope().

dominates()

dump()

extendInsnRange()

Extend the current instruction range covered by this scope.

Definition at line 81 of file LexicalScopes.h.

References assert(), and MI.

getChildren()

getDesc()

const MDNode * llvm::LexicalScope::getDesc ( ) const inline

getDFSIn()

unsigned llvm::LexicalScope::getDFSIn ( ) const inline

getDFSOut()

unsigned llvm::LexicalScope::getDFSOut ( ) const inline

getInlinedAt()

getParent()

LexicalScope * llvm::LexicalScope::getParent ( ) const inline

getRanges()

getScopeNode()

isAbstractScope()

bool llvm::LexicalScope::isAbstractScope ( ) const inline

openInsnRange()

This scope covers instruction range starting from MI.

Definition at line 72 of file LexicalScopes.h.

References MI.

setDFSIn()

void llvm::LexicalScope::setDFSIn ( unsigned I) inline

setDFSOut()

void llvm::LexicalScope::setDFSOut ( unsigned O) inline

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