class LexicalScope
Declaration
class LexicalScope { /* full declaration omitted */ };
Description
LexicalScope - This class is used to track scope information.
Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:44
Method Overview
- public LexicalScope(llvm::LexicalScope * P, const llvm::DILocalScope * D, const llvm::DILocation * I, bool A)
- public void addChild(llvm::LexicalScope * S)
- public void closeInsnRange(llvm::LexicalScope * NewScope = nullptr)
- public bool dominates(const llvm::LexicalScope * S) const
- public void dump(unsigned int Indent = 0) const
- public void extendInsnRange(const llvm::MachineInstr * MI)
- public SmallVectorImpl<llvm::LexicalScope *> & getChildren()
- public unsigned int getDFSIn() const
- public unsigned int getDFSOut() const
- public const llvm::MDNode * getDesc() const
- public const llvm::DILocation * getInlinedAt() const
- public llvm::LexicalScope * getParent() const
- public SmallVectorImpl<llvm::InsnRange> & getRanges()
- public const llvm::DILocalScope * getScopeNode() const
- public bool isAbstractScope() const
- public void openInsnRange(const llvm::MachineInstr * MI)
- public void setDFSIn(unsigned int I)
- public void setDFSOut(unsigned int O)
Methods
¶LexicalScope(llvm::LexicalScope* P,
const llvm::DILocalScope* D,
const llvm::DILocation* I,
bool A)
LexicalScope(llvm::LexicalScope* P,
const llvm::DILocalScope* D,
const llvm::DILocation* I,
bool A)
Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:46
Parameters
- llvm::LexicalScope* P
- const llvm::DILocalScope* D
- const llvm::DILocation* I
- bool A
¶void addChild(llvm::LexicalScope* S)
void addChild(llvm::LexicalScope* S)
Description
addChild - Add a child scope.
Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:69
Parameters
¶void closeInsnRange(
llvm::LexicalScope* NewScope = nullptr)
void closeInsnRange(
llvm::LexicalScope* NewScope = nullptr)
Description
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.
Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:92
Parameters
- llvm::LexicalScope* NewScope = nullptr
¶bool dominates(const llvm::LexicalScope* S) const
bool dominates(const llvm::LexicalScope* S) const
Description
dominates - Return true if current scope dominates given lexical scope.
Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:104
Parameters
- const llvm::LexicalScope* S
¶void dump(unsigned int Indent = 0) const
void dump(unsigned int Indent = 0) const
Description
dump - print lexical scope.
Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:119
Parameters
- unsigned int Indent = 0
¶void extendInsnRange(const llvm::MachineInstr* MI)
void extendInsnRange(const llvm::MachineInstr* MI)
Description
extendInsnRange - Extend the current instruction range covered by this scope.
Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:82
Parameters
- const llvm::MachineInstr* MI
¶SmallVectorImpl<llvm::LexicalScope*>&
getChildren()
SmallVectorImpl<llvm::LexicalScope*>&
getChildren()
Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:65
¶unsigned int getDFSIn() const
unsigned int getDFSIn() const
Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:115
¶unsigned int getDFSOut() const
unsigned int getDFSOut() const
Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:113
¶const llvm::MDNode* getDesc() const
const llvm::MDNode* getDesc() const
Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:61
¶const llvm::DILocation* getInlinedAt() const
const llvm::DILocation* getInlinedAt() const
Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:62
¶llvm::LexicalScope* getParent() const
llvm::LexicalScope* getParent() const
Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:60
¶SmallVectorImpl<llvm::InsnRange>& getRanges()
SmallVectorImpl<llvm::InsnRange>& getRanges()
Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:66
¶const llvm::DILocalScope* getScopeNode() const
const llvm::DILocalScope* getScopeNode() const
Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:63
¶bool isAbstractScope() const
bool isAbstractScope() const
Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:64
¶void openInsnRange(const llvm::MachineInstr* MI)
void openInsnRange(const llvm::MachineInstr* MI)
Description
openInsnRange - This scope covers instruction range starting from MI.
Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:72
Parameters
- const llvm::MachineInstr* MI
¶void setDFSIn(unsigned int I)
void setDFSIn(unsigned int I)
Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:116
Parameters
- unsigned int I
¶void setDFSOut(unsigned int O)
void setDFSOut(unsigned int O)
Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:114
Parameters
- unsigned int O