Add support for bottom up closure of ds analysis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2963 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/analyze/analyze.cpp b/tools/analyze/analyze.cpp
index 02ee645..f22f734 100644
--- a/tools/analyze/analyze.cpp
+++ b/tools/analyze/analyze.cpp
@@ -57,6 +57,10 @@
static void printPass(LocalDataStructures &P, ostream &O, Module &M) {
P.print(O, &M);
}
+template<>
+static void printPass(BUDataStructures &P, ostream &O, Module &M) {
+ P.print(O, &M);
+}
template<>
static void printPass(FindUsedTypes &FUT, ostream &O, Module &M) {
@@ -227,7 +231,8 @@
print, intervals, exprs, instforest, loops, indvars,
// ip analyses
- printmodule, callgraph, datastructure, printusedtypes, unsafepointertypes,
+ printmodule, callgraph, datastructure, budatastructure,
+ printusedtypes, unsafepointertypes,
domset, idom, domtree, domfrontier,
postdomset, postidom, postdomtree, postdomfrontier,
@@ -247,6 +252,7 @@
clEnumVal(printmodule , "Print entire module"),
clEnumVal(callgraph , "Print Call Graph"),
clEnumVal(datastructure , "Print data structure information"),
+ clEnumVal(budatastructure, "Print bottom-up data structure information"),
clEnumVal(printusedtypes , "Print types used by module"),
clEnumVal(unsafepointertypes, "Print unsafe pointer types"),
@@ -279,6 +285,7 @@
{ printusedtypes , New<Pass, FindUsedTypes> },
{ callgraph , New<Pass, CallGraph> },
{ datastructure , New<Pass, LocalDataStructures> },
+ { budatastructure , New<Pass, BUDataStructures> },
{ unsafepointertypes, New<Pass, FindUnsafePointerTypes> },
// Dominator analyses