Add a method useful for updating DSA

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11636 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2004-02-19 21:27:50 +00:00
parent 6559615fc4
commit bbdfe40ba7
2 changed files with 18 additions and 0 deletions

View File

@ -54,6 +54,15 @@ public:
void erase(Value *V) { erase(find(V)); }
/// replaceScalar - When an instruction needs to be modified, this method can
/// be used to update the scalar map to remove the old and insert the new.
void replaceScalar(Value *Old, Value *New) {
iterator I = find(Old);
assert(I != end() && "Old value is not in the map!");
ValueMap.insert(std::make_pair(New, I->second));
erase(I);
}
DSNodeHandle &operator[](Value *V) {
std::pair<iterator,bool> IP =
ValueMap.insert(std::make_pair(V, DSNodeHandle()));

View File

@ -54,6 +54,15 @@ public:
void erase(Value *V) { erase(find(V)); }
/// replaceScalar - When an instruction needs to be modified, this method can
/// be used to update the scalar map to remove the old and insert the new.
void replaceScalar(Value *Old, Value *New) {
iterator I = find(Old);
assert(I != end() && "Old value is not in the map!");
ValueMap.insert(std::make_pair(New, I->second));
erase(I);
}
DSNodeHandle &operator[](Value *V) {
std::pair<iterator,bool> IP =
ValueMap.insert(std::make_pair(V, DSNodeHandle()));