summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-01-23 22:06:33 +0000
committerChris Lattner <sabre@nondot.org>2003-01-23 22:06:33 +0000
commit38c5e417a7eb70aa4f7e43824795cf6cfbce94d1 (patch)
treed134c6c2b18ce57cb3f07063b29f47e14b74f5ce /llvm
parenta1d9011d6ed1ccf92ba8380bde0bdef65d893ba9 (diff)
downloadbcm5719-llvm-38c5e417a7eb70aa4f7e43824795cf6cfbce94d1.tar.gz
bcm5719-llvm-38c5e417a7eb70aa4f7e43824795cf6cfbce94d1.zip
* Eliminate boolean arguments in favor of using enums
llvm-svn: 5420
Diffstat (limited to 'llvm')
-rw-r--r--llvm/include/llvm/Analysis/DSGraph.h19
-rw-r--r--llvm/lib/Analysis/IPA/IPModRef.cpp4
2 files changed, 14 insertions, 9 deletions
diff --git a/llvm/include/llvm/Analysis/DSGraph.h b/llvm/include/llvm/Analysis/DSGraph.h
index a1725dec16c..8e11dc010aa 100644
--- a/llvm/include/llvm/Analysis/DSGraph.h
+++ b/llvm/include/llvm/Analysis/DSGraph.h
@@ -137,15 +137,20 @@ public:
// the scope of current analysis may have modified it), the 'Incomplete' flag
// is added to the NodeType.
//
- void markIncompleteNodes(bool markFormalArgs = true);
+ enum MarkIncompleteFlags {
+ MarkFormalArgs = 1, IgnoreFormalArgs = 0,
+ };
+ void markIncompleteNodes(unsigned Flags);
- // 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.
+ // removeDeadNodes - Use a 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();
+ enum RemoveDeadNodesFlags {
+ RemoveUnreachableGlobals = 1, KeepUnreachableGlobals = 0,
+ };
+ void removeDeadNodes(unsigned Flags);
// CloneFlags enum - Bits that may be passed into the cloneInto method to
// specify how to clone the function graph.
diff --git a/llvm/lib/Analysis/IPA/IPModRef.cpp b/llvm/lib/Analysis/IPA/IPModRef.cpp
index 8c507e9323a..48452fe8b16 100644
--- a/llvm/lib/Analysis/IPA/IPModRef.cpp
+++ b/llvm/lib/Analysis/IPA/IPModRef.cpp
@@ -175,7 +175,7 @@ DSGraph* FunctionModRefInfo::ResolveCallSiteModRefInfo(CallInst &CI,
assert(0 && "See error message");
// Remove dead nodes aggressively to match the caller's original graph.
- Result->removeDeadNodes();
+ Result->removeDeadNodes(DSGraph::KeepUnreachableGlobals);
// Step #4: Return the clone + the mapping (by ref)
return Result;
@@ -393,7 +393,7 @@ FunctionModRefInfo& IPModRef::getFuncInfo(const Function& func,
// The memory for this graph clone will be freed by FunctionModRefInfo.
DSGraph* funcTDGraph =
new DSGraph(getAnalysis<TDDataStructures>().getDSGraph(func));
- funcTDGraph->removeDeadNodes();
+ funcTDGraph->removeDeadNodes(DSGraph::KeepUnreachableGlobals);
funcInfo = new FunctionModRefInfo(func, *this, funcTDGraph); //auto-insert
funcInfo->computeModRef(func); // computes the mod/ref info
OpenPOWER on IntegriCloud