diff options
| author | Chris Lattner <sabre@nondot.org> | 2005-03-22 00:09:36 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2005-03-22 00:09:36 +0000 |
| commit | 7b5fe1bdb6b12eeb4e600d60451a268057db326c (patch) | |
| tree | c9d541a57eff996b9ed6e8965694625cdb7964c2 | |
| parent | 5f10e6dda17e1cc1d8afd2313459ee7eec747dc0 (diff) | |
| download | bcm5719-llvm-7b5fe1bdb6b12eeb4e600d60451a268057db326c.tar.gz bcm5719-llvm-7b5fe1bdb6b12eeb4e600d60451a268057db326c.zip | |
move this stuff out of line
llvm-svn: 20750
| -rw-r--r-- | llvm/include/llvm/Analysis/DataStructure/DSGraph.h | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/llvm/include/llvm/Analysis/DataStructure/DSGraph.h b/llvm/include/llvm/Analysis/DataStructure/DSGraph.h index d807bd02461..a7ac6663eb4 100644 --- a/llvm/include/llvm/Analysis/DataStructure/DSGraph.h +++ b/llvm/include/llvm/Analysis/DataStructure/DSGraph.h @@ -118,7 +118,6 @@ public: ValueMap.insert(std::make_pair(New, I->second)); } - /// operator[] - Return the DSNodeHandle for the specified value, creating a /// new null handle if there is no entry yet. DSNodeHandle &operator[](Value *V) { @@ -126,20 +125,8 @@ public: if (I != ValueMap.end()) return I->second; // Return value if already exists. - if (GlobalValue *GV = dyn_cast<GlobalValue>(V)) { - // If the node doesn't exist, check to see if it's a global that is - // equated to another global in the program. - EquivalenceClasses<GlobalValue*>::iterator ECI = GlobalECs.findValue(GV); - if (ECI != GlobalECs.end()) { - GlobalValue *Leader = *GlobalECs.findLeader(ECI); - if (Leader != GV) - return operator[]((Value*)Leader); - } - - // Okay, this is either not an equivalenced global or it is the leader, it - // will be inserted into the scalar map now. - GlobalSet.insert(GV); - } + if (GlobalValue *GV = dyn_cast<GlobalValue>(V)) + return AddGlobal(GV); return ValueMap.insert(std::make_pair(V, DSNodeHandle())).first->second; } @@ -163,6 +150,8 @@ public: global_iterator global_end() const { return GlobalSet.end(); } unsigned global_size() const { return GlobalSet.size(); } unsigned global_count(GlobalValue *GV) const { return GlobalSet.count(GV); } +private: + DSNodeHandle &AddGlobal(GlobalValue *GV); }; |

