Add some methods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19817 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2005-01-24 19:55:34 +00:00
parent 2d6f022a98
commit d5af7c4df6
2 changed files with 23 additions and 0 deletions

View File

@ -55,6 +55,11 @@ public:
void erase(Value *V) { erase(find(V)); }
void eraseIfExists(Value *V) {
iterator I = find(V);
if (I != end()) erase(I);
}
/// 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.
///
@ -65,6 +70,14 @@ public:
erase(I);
}
/// copyScalarIfExists - If Old exists in the scalar map, make New point to
/// whatever Old did.
void copyScalarIfExists(Value *Old, Value *New) {
iterator I = find(Old);
if (I != end())
ValueMap.insert(std::make_pair(New, I->second));
}
DSNodeHandle &operator[](Value *V) {
std::pair<iterator,bool> IP =
ValueMap.insert(std::make_pair(V, DSNodeHandle()));

View File

@ -113,6 +113,11 @@ public:
DSGraph &getGlobalsGraph() const { return *GlobalsGraph; }
/// deleteValue/copyValue - Interfaces to update the DSGraphs in the program.
/// These correspond to the interfaces defined in the AliasAnalysis class.
void deleteValue(Value *V);
void copyValue(Value *From, Value *To);
/// print - Print out the analysis results...
///
void print(std::ostream &O, const Module *M) const;
@ -175,6 +180,11 @@ public:
DSGraph &getGlobalsGraph() const { return *GlobalsGraph; }
/// deleteValue/copyValue - Interfaces to update the DSGraphs in the program.
/// These correspond to the interfaces defined in the AliasAnalysis class.
void deleteValue(Value *V);
void copyValue(Value *From, Value *To);
/// print - Print out the analysis results...
///
void print(std::ostream &O, const Module *M) const;