summaryrefslogtreecommitdiff
path: root/tools/analyze
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-07-18 06:40:56 +0000
committerChris Lattner <sabre@nondot.org>2002-07-18 06:40:56 +0000
commitf7ccb70604282fb7ce77edb8ed7423e2c8f6dcda (patch)
tree6f8920de3ba23f3d4d15e1f7c92ad19981a925da /tools/analyze
parentebfd1b903bc662cfb6cf822cc74ff0256ea7669b (diff)
downloadllvm-f7ccb70604282fb7ce77edb8ed7423e2c8f6dcda.tar.gz
llvm-f7ccb70604282fb7ce77edb8ed7423e2c8f6dcda.tar.bz2
llvm-f7ccb70604282fb7ce77edb8ed7423e2c8f6dcda.tar.xz
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
Diffstat (limited to 'tools/analyze')
-rw-r--r--tools/analyze/analyze.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/tools/analyze/analyze.cpp b/tools/analyze/analyze.cpp
index 02ee645719..f22f7346c3 100644
--- a/tools/analyze/analyze.cpp
+++ b/tools/analyze/analyze.cpp
@@ -57,6 +57,10 @@ template<>
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 @@ enum Ans {
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 @@ cl::EnumList<enum Ans> AnalysesList(cl::NoFlags,
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 @@ struct {
{ printusedtypes , New<Pass, FindUsedTypes> },
{ callgraph , New<Pass, CallGraph> },
{ datastructure , New<Pass, LocalDataStructures> },
+ { budatastructure , New<Pass, BUDataStructures> },
{ unsafepointertypes, New<Pass, FindUnsafePointerTypes> },
// Dominator analyses