aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-06-28 22:14:55 +0000
committerChris Lattner <sabre@nondot.org>2003-06-28 22:14:55 +0000
commit312edd330fb70f7b0f476b253b5073cf7d01def3 (patch)
treed244c70c963ac182162cf0aae7984650972522e9
parent5e459dbc529d60a6e2c57e8448006ad0d2a8116a (diff)
downloadexternal_llvm-312edd330fb70f7b0f476b253b5073cf7d01def3.zip
external_llvm-312edd330fb70f7b0f476b253b5073cf7d01def3.tar.gz
external_llvm-312edd330fb70f7b0f476b253b5073cf7d01def3.tar.bz2
Propagate globals graph from the local to bu to td globals graphs. This
fixes bug: DSGraph/buglobals.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6947 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Analysis/DataStructure/BottomUpClosure.cpp5
-rw-r--r--lib/Analysis/DataStructure/TopDownClosure.cpp4
2 files changed, 5 insertions, 4 deletions
diff --git a/lib/Analysis/DataStructure/BottomUpClosure.cpp b/lib/Analysis/DataStructure/BottomUpClosure.cpp
index 9f50436..4592867 100644
--- a/lib/Analysis/DataStructure/BottomUpClosure.cpp
+++ b/lib/Analysis/DataStructure/BottomUpClosure.cpp
@@ -17,7 +17,7 @@ namespace {
Statistic<> MaxSCC("budatastructure", "Maximum SCC Size in Call Graph");
RegisterAnalysis<BUDataStructures>
- X("budatastructure", "Bottom-up Data Structure Analysis Closure");
+ X("budatastructure", "Bottom-up Data Structure Analysis");
}
using namespace DS;
@@ -120,7 +120,8 @@ public:
// program.
//
bool BUDataStructures::run(Module &M) {
- GlobalsGraph = new DSGraph();
+ LocalDataStructures &LocalDSA = getAnalysis<LocalDataStructures>();
+ GlobalsGraph = new DSGraph(LocalDSA.getGlobalsGraph());
GlobalsGraph->setPrintAuxCalls();
Function *MainFunc = M.getMainFunction();
diff --git a/lib/Analysis/DataStructure/TopDownClosure.cpp b/lib/Analysis/DataStructure/TopDownClosure.cpp
index 3138ada..4058348 100644
--- a/lib/Analysis/DataStructure/TopDownClosure.cpp
+++ b/lib/Analysis/DataStructure/TopDownClosure.cpp
@@ -15,7 +15,7 @@
namespace {
RegisterAnalysis<TDDataStructures> // Register the pass
- Y("tddatastructure", "Top-down Data Structure Analysis Closure");
+ Y("tddatastructure", "Top-down Data Structure Analysis");
}
// run - Calculate the top down data structure graphs for each function in the
@@ -23,7 +23,7 @@ namespace {
//
bool TDDataStructures::run(Module &M) {
BUDataStructures &BU = getAnalysis<BUDataStructures>();
- GlobalsGraph = new DSGraph();
+ GlobalsGraph = new DSGraph(BU.getGlobalsGraph());
// Calculate top-down from main...
if (Function *F = M.getMainFunction())