Lines Matching refs:LiveVariables
1 //=- LiveVariables.cpp - Live Variable Analysis for Source CFGs ----------*-==//
14 #include "clang/Analysis/Analyses/LiveVariables.h"
85 std::vector<LiveVariables::LivenessValues> cfgBlockValues;
88 llvm::DenseMap<const CFGBlock *, LiveVariables::LivenessValues> blocksEndToLiveness;
89 llvm::DenseMap<const CFGBlock *, LiveVariables::LivenessValues> blocksBeginToLiveness;
90 llvm::DenseMap<const Stmt *, LiveVariables::LivenessValues> stmtsToLiveness;
94 LiveVariables::LivenessValues
95 merge(LiveVariables::LivenessValues valsA,
96 LiveVariables::LivenessValues valsB);
98 LiveVariables::LivenessValues
99 runOnBlock(const CFGBlock *block, LiveVariables::LivenessValues val,
100 LiveVariables::Observer *obs = nullptr);
120 bool LiveVariables::LivenessValues::isLive(const Stmt *S) const {
124 bool LiveVariables::LivenessValues::isLive(const VarDecl *D) const {
141 void LiveVariables::Observer::anchor() { }
143 LiveVariables::LivenessValues
144 LiveVariablesImpl::merge(LiveVariables::LivenessValues valsA,
145 LiveVariables::LivenessValues valsB) {
162 return LiveVariables::LivenessValues(SSetRefA.asImmutableSet(),
166 bool LiveVariables::LivenessValues::equals(const LivenessValues &V) const {
178 bool LiveVariables::isLive(const CFGBlock *B, const VarDecl *D) {
182 bool LiveVariables::isLive(const Stmt *S, const VarDecl *D) {
186 bool LiveVariables::isLive(const Stmt *Loc, const Stmt *S) {
197 LiveVariables::LivenessValues &val;
198 LiveVariables::Observer *observer;
202 LiveVariables::LivenessValues &Val,
203 LiveVariables::Observer *Observer,
445 LiveVariables::LivenessValues
447 LiveVariables::LivenessValues val,
448 LiveVariables::Observer *obs) {
477 void LiveVariables::runOnAllBlocks(LiveVariables::Observer &obs) {
483 LiveVariables::LiveVariables(void *im) : impl(im) {}
485 LiveVariables::~LiveVariables() {
489 LiveVariables *
490 LiveVariables::computeLiveness(AnalysisDeclContext &AC,
566 return new LiveVariables(LV);
569 void LiveVariables::dumpBlockLiveness(const SourceManager &M) {
575 for (llvm::DenseMap<const CFGBlock *, LiveVariables::LivenessValues>::iterator
591 LiveVariables::LivenessValues vals = blocksEndToLiveness[*it];
615 const void *LiveVariables::getTag() { static int x; return &x; }