14 #ifndef LLVM_CLANG_ANALYSIS_ANALYSES_LIVEVARIABLES_H
15 #define LLVM_CLANG_ANALYSIS_ANALYSES_LIVEVARIABLES_H
19 #include "llvm/ADT/DenseMap.h"
20 #include "llvm/ADT/ImmutableSet.h"
54 virtual void anchor();
99 static const void *
getTag();
112 static const void *
getTag();
LivenessValues(llvm::ImmutableSet< const Stmt * > LiveStmts, llvm::ImmutableSet< const VarDecl * > LiveDecls)
static LiveVariables * computeLiveness(AnalysisDeclContext &analysisContext, bool killAtAssign)
Compute the liveness information for a given CFG.
static const void * getTag()
void runOnAllBlocks(Observer &obs)
bool isLive(const CFGBlock *B, const VarDecl *D)
~LiveVariables() override
static const void * getTag()
virtual void observerKill(const DeclRefExpr *DR)
void dumpBlockLiveness(const SourceManager &M)
llvm::ImmutableSet< const VarDecl * > liveDecls
static LiveVariables * create(AnalysisDeclContext &analysisContext)
llvm::ImmutableSet< const Stmt * > liveStmts
virtual void observeStmt(const Stmt *S, const CFGBlock *currentBlock, const LivenessValues &V)
static LiveVariables * create(AnalysisDeclContext &analysisContext)
bool isLive(const Stmt *S) const
A reference to a declared variable, function, enum, etc. [C99 6.5.1p2].
bool equals(const LivenessValues &V) const
This class handles loading and caching of source files into memory.