summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2011-09-26 20:15:28 +0000
committerEli Friedman <eli.friedman@gmail.com>2011-09-26 20:15:28 +0000
commit46cb5afdcd031c371c78201fb34291d9d48b2ee4 (patch)
treea45b5d099ba1902183cdf6bca2282b0f5435a082 /include
parent22d54da918ed0d63b29d4030fc6dcf4afb53ada6 (diff)
downloadllvm-46cb5afdcd031c371c78201fb34291d9d48b2ee4.tar.gz
llvm-46cb5afdcd031c371c78201fb34291d9d48b2ee4.tar.bz2
llvm-46cb5afdcd031c371c78201fb34291d9d48b2ee4.tar.xz
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.h12
1 files changed, 4 insertions, 8 deletions
diff --git a/include/llvm/Analysis/AliasAnalysis.h b/include/llvm/Analysis/AliasAnalysis.h
index 9e9c586207..d71ba208a1 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,