diff options
author | Chris Lattner <sabre@nondot.org> | 2004-09-14 19:15:12 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-09-14 19:15:12 +0000 |
commit | e2fe784500ee910536bfc7332eae82ab0fdd1bc7 (patch) | |
tree | 1a4fbb8876b96e1d38a5ecf2f86d218c7b2f21cb /include/llvm/Analysis/AliasSetTracker.h | |
parent | 1cf70ff8d58e389ae57f706f6025bf4a102e0f28 (diff) | |
download | external_llvm-e2fe784500ee910536bfc7332eae82ab0fdd1bc7.zip external_llvm-e2fe784500ee910536bfc7332eae82ab0fdd1bc7.tar.gz external_llvm-e2fe784500ee910536bfc7332eae82ab0fdd1bc7.tar.bz2 |
Add an AliasSetTracker::copyValue method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16343 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis/AliasSetTracker.h')
-rw-r--r-- | include/llvm/Analysis/AliasSetTracker.h | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/include/llvm/Analysis/AliasSetTracker.h b/include/llvm/Analysis/AliasSetTracker.h index ddcbbb0..6a6f016 100644 --- a/include/llvm/Analysis/AliasSetTracker.h +++ b/include/llvm/Analysis/AliasSetTracker.h @@ -221,7 +221,8 @@ private: void removeFromTracker(AliasSetTracker &AST); - void addPointer(AliasSetTracker &AST, HashNodePair &Entry, unsigned Size); + void addPointer(AliasSetTracker &AST, HashNodePair &Entry, unsigned Size, + bool KnownMustAlias = false); void addCallSite(CallSite CS, AliasAnalysis &AA); void setVolatile() { Volatile = true; } @@ -286,15 +287,8 @@ public: bool remove(Instruction *I); void remove(AliasSet &AS); - - /// deleteValue method - This method is used to remove a pointer value from - /// the AliasSetTracker entirely. It should be used when an instruction is - /// deleted from the program to update the AST. If you don't use this, you - /// would have dangling pointers to deleted instructions. - /// - void deleteValue(Value *PtrVal); - /// getAliasSets - Return the alias sets that are active. + /// const ilist<AliasSet> &getAliasSets() const { return AliasSets; } /// getAliasSetForPointer - Return the alias set that the specified pointer @@ -313,6 +307,22 @@ public: /// this tracker. AliasAnalysis &getAliasAnalysis() const { return AA; } + /// deleteValue method - This method is used to remove a pointer value from + /// the AliasSetTracker entirely. It should be used when an instruction is + /// deleted from the program to update the AST. If you don't use this, you + /// would have dangling pointers to deleted instructions. + /// + void deleteValue(Value *PtrVal); + + /// copyValue - This method should be used whenever a preexisting value in the + /// program is copied or cloned, introducing a new value. Note that it is ok + /// for clients that use this method to introduce the same value multiple + /// times: if the tracker already knows about a value, it will ignore the + /// request. + /// + void copyValue(Value *From, Value *To); + + typedef ilist<AliasSet>::iterator iterator; typedef ilist<AliasSet>::const_iterator const_iterator; |