clang
6.0.0
|
#include "clang/Analysis/Analyses/LiveVariables.h"
Classes | |
class | LivenessValues |
class | Observer |
Public Member Functions | |
~LiveVariables () override | |
bool | isLive (const CFGBlock *B, const VarDecl *D) |
Return true if a variable is live at the end of a specified block. More... | |
bool | isLive (const Stmt *S, const VarDecl *D) |
Returns true if a variable is live at the beginning of the the statement. More... | |
bool | isLive (const Stmt *Loc, const Stmt *StmtVal) |
Returns true the block-level expression "value" is live before the given block-level expression (see runOnAllBlocks). More... | |
void | dumpBlockLiveness (const SourceManager &M) |
Print to stderr the liveness information associated with each basic block. More... | |
void | runOnAllBlocks (Observer &obs) |
![]() | |
virtual | ~ManagedAnalysis () |
Static Public Member Functions | |
static LiveVariables * | computeLiveness (AnalysisDeclContext &analysisContext, bool killAtAssign) |
Compute the liveness information for a given CFG. More... | |
static LiveVariables * | create (AnalysisDeclContext &analysisContext) |
static const void * | getTag () |
Additional Inherited Members | |
![]() | |
ManagedAnalysis () | |
Definition at line 29 of file LiveVariables.h.
|
override |
Definition at line 473 of file LiveVariables.cpp.
Referenced by clang::LiveVariables::Observer::observerKill().
|
static |
Compute the liveness information for a given CFG.
Definition at line 478 of file LiveVariables.cpp.
References clang::CFGBlock::begin(), clang::CFG::begin(), clang::CFGBlock::end(), clang::CFG::end(), clang::LiveVariables::LivenessValues::equals(), clang::CFGBlock::getBlockID(), clang::AnalysisDeclContext::getCFG(), clang::CFG::getNumBlockIDs(), clang::CFGBlock::succ_begin(), and clang::CFGBlock::succ_end().
Referenced by create(), clang::RelaxedLiveVariables::create(), and clang::LiveVariables::Observer::observerKill().
|
inlinestatic |
Definition at line 94 of file LiveVariables.h.
References computeLiveness(), getTag(), and clang::LiveVariables::LivenessValues::LiveVariables.
void LiveVariables::dumpBlockLiveness | ( | const SourceManager & | M | ) |
Print to stderr the liveness information associated with each basic block.
Definition at line 555 of file LiveVariables.cpp.
References clang::CFGBlock::getBlockID(), getImpl(), clang::Decl::getLocStart(), clang::BinaryOperator::getLocStart(), and clang::LiveVariables::LivenessValues::liveDecls.
|
static |
Definition at line 601 of file LiveVariables.cpp.
Referenced by create(), and clang::RelaxedLiveVariables::create().
Return true if a variable is live at the end of a specified block.
Definition at line 170 of file LiveVariables.cpp.
References getImpl(), and isAlwaysAlive().
Returns true if a variable is live at the beginning of the the statement.
This query only works if liveness information has been recorded at the statement level (see runOnAllBlocks), and only returns liveness information for block-level expressions.
Definition at line 174 of file LiveVariables.cpp.
Returns true the block-level expression "value" is live before the given block-level expression (see runOnAllBlocks).
Definition at line 178 of file LiveVariables.cpp.
void LiveVariables::runOnAllBlocks | ( | LiveVariables::Observer & | obs | ) |
Definition at line 465 of file LiveVariables.cpp.
References clang::CFG::begin(), clang::CFG::end(), and getImpl().