diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2011-09-26 20:15:28 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2011-09-26 20:15:28 +0000 |
commit | 46cb5afdcd031c371c78201fb34291d9d48b2ee4 (patch) | |
tree | a45b5d099ba1902183cdf6bca2282b0f5435a082 /include | |
parent | 22d54da918ed0d63b29d4030fc6dcf4afb53ada6 (diff) | |
download | external_llvm-46cb5afdcd031c371c78201fb34291d9d48b2ee4.zip external_llvm-46cb5afdcd031c371c78201fb34291d9d48b2ee4.tar.gz external_llvm-46cb5afdcd031c371c78201fb34291d9d48b2ee4.tar.bz2 |
Enhance alias analysis for atomic instructions a bit. Upgrade a couple alias-analysis tests to the new atomic instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140557 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Analysis/AliasAnalysis.h | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/include/llvm/Analysis/AliasAnalysis.h b/include/llvm/Analysis/AliasAnalysis.h index 9e9c586..d71ba20 100644 --- a/include/llvm/Analysis/AliasAnalysis.h +++ b/include/llvm/Analysis/AliasAnalysis.h @@ -136,6 +136,8 @@ public: Location getLocation(const LoadInst *LI); Location getLocation(const StoreInst *SI); Location getLocation(const VAArgInst *VI); + Location getLocation(const AtomicCmpXchgInst *CXI); + Location getLocation(const AtomicRMWInst *RMWI); static Location getLocationForSource(const MemTransferInst *MTI); static Location getLocationForDest(const MemIntrinsic *MI); @@ -426,10 +428,7 @@ public: /// getModRefInfo (for cmpxchges) - Return whether information about whether /// a particular cmpxchg modifies or reads the specified memory location. - ModRefResult getModRefInfo(const AtomicCmpXchgInst *CX, const Location &Loc) { - // Conservatively correct. (But there are obvious ways to be smarter.) - return ModRef; - } + ModRefResult getModRefInfo(const AtomicCmpXchgInst *CX, const Location &Loc); /// getModRefInfo (for cmpxchges) - A convenience wrapper. ModRefResult getModRefInfo(const AtomicCmpXchgInst *CX, @@ -439,10 +438,7 @@ public: /// getModRefInfo (for atomicrmws) - Return whether information about whether /// a particular atomicrmw modifies or reads the specified memory location. - ModRefResult getModRefInfo(const AtomicRMWInst *RMW, const Location &Loc) { - // Conservatively correct. (But there are obvious ways to be smarter.) - return ModRef; - } + ModRefResult getModRefInfo(const AtomicRMWInst *RMW, const Location &Loc); /// getModRefInfo (for atomicrmws) - A convenience wrapper. ModRefResult getModRefInfo(const AtomicRMWInst *RMW, |