aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/llvm/Analysis/DataStructure.h15
-rw-r--r--include/llvm/Analysis/DataStructure/DataStructure.h15
2 files changed, 24 insertions, 6 deletions
diff --git a/include/llvm/Analysis/DataStructure.h b/include/llvm/Analysis/DataStructure.h
index 1a269e8..5c981ce 100644
--- a/include/llvm/Analysis/DataStructure.h
+++ b/include/llvm/Analysis/DataStructure.h
@@ -274,12 +274,21 @@ public:
//
void markIncompleteNodes();
- // removeDeadNodes - After the graph has been constructed, this method removes
- // all unreachable nodes that are created because they got merged with other
- // nodes in the graph.
+ // removeTriviallyDeadNodes - After the graph has been constructed, this
+ // method removes all unreachable nodes that are created because they got
+ // merged with other nodes in the graph.
+ //
+ void removeTriviallyDeadNodes();
+
+ // removeDeadNodes - Use a more powerful reachability analysis to eliminate
+ // subgraphs that are unreachable. This often occurs because the data
+ // structure doesn't "escape" into it's caller, and thus should be eliminated
+ // from the caller's graph entirely. This is only appropriate to use when
+ // inlining graphs.
//
void removeDeadNodes();
+
// AddCaller - add a known caller node into the graph and mark it pending.
// getCallers - get a vector of the functions that call this one
// getCallersPending - get a matching vector of bools indicating if each
diff --git a/include/llvm/Analysis/DataStructure/DataStructure.h b/include/llvm/Analysis/DataStructure/DataStructure.h
index 1a269e8..5c981ce 100644
--- a/include/llvm/Analysis/DataStructure/DataStructure.h
+++ b/include/llvm/Analysis/DataStructure/DataStructure.h
@@ -274,12 +274,21 @@ public:
//
void markIncompleteNodes();
- // removeDeadNodes - After the graph has been constructed, this method removes
- // all unreachable nodes that are created because they got merged with other
- // nodes in the graph.
+ // removeTriviallyDeadNodes - After the graph has been constructed, this
+ // method removes all unreachable nodes that are created because they got
+ // merged with other nodes in the graph.
+ //
+ void removeTriviallyDeadNodes();
+
+ // removeDeadNodes - Use a more powerful reachability analysis to eliminate
+ // subgraphs that are unreachable. This often occurs because the data
+ // structure doesn't "escape" into it's caller, and thus should be eliminated
+ // from the caller's graph entirely. This is only appropriate to use when
+ // inlining graphs.
//
void removeDeadNodes();
+
// AddCaller - add a known caller node into the graph and mark it pending.
// getCallers - get a vector of the functions that call this one
// getCallersPending - get a matching vector of bools indicating if each