LLVM API Documentation

Public Member Functions
llvm::LexicalScope Class Reference

#include <LexicalScopes.h>

List of all members.

Public Member Functions

 LexicalScope (LexicalScope *P, const MDNode *D, const MDNode *I, bool A)
LexicalScopegetParent () const
const MDNodegetDesc () const
const MDNodegetInlinedAt () const
const MDNodegetScopeNode () 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)
void closeInsnRange (LexicalScope *NewScope=nullptr)
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.

Detailed Description

LexicalScope - This class is used to track scope information.

Definition at line 45 of file LexicalScopes.h.


Constructor & Destructor Documentation

llvm::LexicalScope::LexicalScope ( LexicalScope P,
const MDNode D,
const MDNode I,
bool  A 
) [inline]

Definition at line 48 of file LexicalScopes.h.

References addChild().


Member Function Documentation

addChild - Add a child scope.

Definition at line 65 of file LexicalScopes.h.

References llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().

Referenced by LexicalScope().

void llvm::LexicalScope::closeInsnRange ( LexicalScope NewScope = nullptr) [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 88 of file LexicalScopes.h.

References closeInsnRange(), dominates(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().

Referenced by closeInsnRange().

dominates - Return true if current scope dominates given lexical scope.

Definition at line 100 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 334 of file LexicalScopes.cpp.

References llvm::dbgs(), llvm::Value::dump(), llvm::SmallVectorBase::empty(), llvm::raw_ostream::indent(), N, and llvm::SmallVectorTemplateCommon< T, typename >::size().

extendInsnRange - Extend the current instruction range covered by this scope.

Definition at line 78 of file LexicalScopes.h.

References extendInsnRange(), and llvm::AArch64CC::MI.

Referenced by extendInsnRange().

Definition at line 61 of file LexicalScopes.h.

Definition at line 57 of file LexicalScopes.h.

Definition at line 111 of file LexicalScopes.h.

Referenced by dominates().

Definition at line 109 of file LexicalScopes.h.

Referenced by dominates().

Definition at line 58 of file LexicalScopes.h.

Definition at line 56 of file LexicalScopes.h.

Definition at line 62 of file LexicalScopes.h.

Referenced by llvm::LexicalScopes::getMachineBasicBlocks().

Definition at line 60 of file LexicalScopes.h.

Referenced by constructVariableDIE().

openInsnRange - This scope covers instruction range starting from MI.

Definition at line 68 of file LexicalScopes.h.

References llvm::AArch64CC::MI, and openInsnRange().

Referenced by openInsnRange().

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

Definition at line 112 of file LexicalScopes.h.

References I.

Definition at line 110 of file LexicalScopes.h.


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