diff options
-rw-r--r-- | include/llvm/Analysis/DataStructure.h | 15 | ||||
-rw-r--r-- | include/llvm/Analysis/DataStructure/DataStructure.h | 15 |
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 |