From 078c513e877280bde0da60d37f5cb83fd261c385 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 23 Jan 2004 01:42:32 +0000 Subject: [PATCH] Add new flag, other minor modifications git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10969 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/DSGraph.h | 12 +++++++----- include/llvm/Analysis/DataStructure/DSGraph.h | 12 +++++++----- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/include/llvm/Analysis/DSGraph.h b/include/llvm/Analysis/DSGraph.h index 7307f44ae52..2b4a4803f30 100644 --- a/include/llvm/Analysis/DSGraph.h +++ b/include/llvm/Analysis/DSGraph.h @@ -240,18 +240,19 @@ public: DontCloneAuxCallNodes = 1 << 2, CloneAuxCallNodes = 0, StripModRefBits = 1 << 3, KeepModRefBits = 0, StripIncompleteBit = 1 << 4, KeepIncompleteBit = 0, + UpdateInlinedGlobals = 1 << 5, DontUpdateInlinedGlobals = 0, }; private: void cloneReachableNodes(const DSNode* Node, unsigned BitsToClear, - NodeMapTy& OldNodeMap); + NodeMapTy& OldNodeMap, GlobalSetTy &Globals); public: void updateFromGlobalGraph(); - void cloneReachableSubgraph(const DSGraph& G, - const hash_set& RootNodes, - NodeMapTy& OldNodeMap, + void cloneReachableSubgraph(const DSGraph &G, + hash_set &RootNodes, + NodeMapTy &OldNodeMap, unsigned CloneFlags = 0); @@ -289,7 +290,8 @@ public: /// /// The CloneFlags member controls various aspects of the cloning process. /// - void clonePartiallyInto(const DSGraph &G, Function &F, const DSNodeHandle &RetVal, + void clonePartiallyInto(const DSGraph &G, Function &F, + const DSNodeHandle &RetVal, const ScalarMapTy &ValBindings, NodeMapTy &OldNodeMap, unsigned CloneFlags = 0); diff --git a/include/llvm/Analysis/DataStructure/DSGraph.h b/include/llvm/Analysis/DataStructure/DSGraph.h index 7307f44ae52..2b4a4803f30 100644 --- a/include/llvm/Analysis/DataStructure/DSGraph.h +++ b/include/llvm/Analysis/DataStructure/DSGraph.h @@ -240,18 +240,19 @@ public: DontCloneAuxCallNodes = 1 << 2, CloneAuxCallNodes = 0, StripModRefBits = 1 << 3, KeepModRefBits = 0, StripIncompleteBit = 1 << 4, KeepIncompleteBit = 0, + UpdateInlinedGlobals = 1 << 5, DontUpdateInlinedGlobals = 0, }; private: void cloneReachableNodes(const DSNode* Node, unsigned BitsToClear, - NodeMapTy& OldNodeMap); + NodeMapTy& OldNodeMap, GlobalSetTy &Globals); public: void updateFromGlobalGraph(); - void cloneReachableSubgraph(const DSGraph& G, - const hash_set& RootNodes, - NodeMapTy& OldNodeMap, + void cloneReachableSubgraph(const DSGraph &G, + hash_set &RootNodes, + NodeMapTy &OldNodeMap, unsigned CloneFlags = 0); @@ -289,7 +290,8 @@ public: /// /// The CloneFlags member controls various aspects of the cloning process. /// - void clonePartiallyInto(const DSGraph &G, Function &F, const DSNodeHandle &RetVal, + void clonePartiallyInto(const DSGraph &G, Function &F, + const DSNodeHandle &RetVal, const ScalarMapTy &ValBindings, NodeMapTy &OldNodeMap, unsigned CloneFlags = 0); -- 2.34.1