diff options
author | Chris Lattner <sabre@nondot.org> | 2003-01-23 22:06:33 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-01-23 22:06:33 +0000 |
commit | 381977d191de72144cdbb164666754ca8ed60b49 (patch) | |
tree | 5a33db1406946cf54dd26bdbd1052188e2dfdc7d | |
parent | 394471f1973db98b13e97e82ed8a5beb35dd4811 (diff) |
* Eliminate boolean arguments in favor of using enums
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5420 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Analysis/DSGraph.h | 19 | ||||
-rw-r--r-- | include/llvm/Analysis/DataStructure/DSGraph.h | 19 | ||||
-rw-r--r-- | lib/Analysis/DataStructure/IPModRef.cpp | 4 | ||||
-rw-r--r-- | lib/Analysis/IPA/IPModRef.cpp | 4 |
4 files changed, 28 insertions, 18 deletions
diff --git a/include/llvm/Analysis/DSGraph.h b/include/llvm/Analysis/DSGraph.h index a1725dec16..8e11dc010a 100644 --- a/include/llvm/Analysis/DSGraph.h +++ b/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/include/llvm/Analysis/DataStructure/DSGraph.h b/include/llvm/Analysis/DataStructure/DSGraph.h index a1725dec16..8e11dc010a 100644 --- a/include/llvm/Analysis/DataStructure/DSGraph.h +++ b/include/llvm/Analysis/DataStructure/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/lib/Analysis/DataStructure/IPModRef.cpp b/lib/Analysis/DataStructure/IPModRef.cpp index 8c507e9323..48452fe8b1 100644 --- a/lib/Analysis/DataStructure/IPModRef.cpp +++ b/lib/Analysis/DataStructure/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 diff --git a/lib/Analysis/IPA/IPModRef.cpp b/lib/Analysis/IPA/IPModRef.cpp index 8c507e9323..48452fe8b1 100644 --- a/lib/Analysis/IPA/IPModRef.cpp +++ b/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 |