Modified LiveVariables to perform all of its base initialization in the ctor,
and now we require a FunctionDecl* object so that we can also keep track of
all of the ParmDecls.
Modified clients of LiveVariables to conform to the new interface.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46490 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Analysis/LiveVariables.cpp b/Analysis/LiveVariables.cpp
index b96f7fc..c14b463 100644
--- a/Analysis/LiveVariables.cpp
+++ b/Analysis/LiveVariables.cpp
@@ -42,7 +42,15 @@
};
} // end anonymous namespace
-void LiveVariables::InitializeValues(const CFG& cfg) {
+
+LiveVariables::LiveVariables(CFG& cfg, FunctionDecl& FD) {
+ getAnalysisData().setCFG(&cfg);
+
+ for (FunctionDecl::param_iterator I=FD.param_begin(), E=FD.param_end();
+ I !=E; ++I)
+ getAnalysisData().Register(*I);
+
+ // Now register all the other VarDecls;
RegisterDecls R(getAnalysisData());
cfg.VisitBlockStmts(R);
}