diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2011-08-15 20:54:19 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2011-08-15 20:54:19 +0000 |
commit | 5494adac67038a74d1fac4969086e08e1a2b4d50 (patch) | |
tree | 2c11104111028c62a1e1ec58bd802d0dfa8bc31c /llvm/lib/Analysis/AliasAnalysis.cpp | |
parent | b59abbd4fde718b07ed0f579197c0786fb82fba3 (diff) | |
download | bcm5719-llvm-5494adac67038a74d1fac4969086e08e1a2b4d50.tar.gz bcm5719-llvm-5494adac67038a74d1fac4969086e08e1a2b4d50.zip |
Misc analysis passes that need to be aware of atomic load/store.
llvm-svn: 137650
Diffstat (limited to 'llvm/lib/Analysis/AliasAnalysis.cpp')
-rw-r--r-- | llvm/lib/Analysis/AliasAnalysis.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Analysis/AliasAnalysis.cpp b/llvm/lib/Analysis/AliasAnalysis.cpp index bfa02e0e1f8..73cc9037216 100644 --- a/llvm/lib/Analysis/AliasAnalysis.cpp +++ b/llvm/lib/Analysis/AliasAnalysis.cpp @@ -268,8 +268,8 @@ AliasAnalysis::getLocationForDest(const MemIntrinsic *MTI) { AliasAnalysis::ModRefResult AliasAnalysis::getModRefInfo(const LoadInst *L, const Location &Loc) { - // Be conservative in the face of volatile. - if (L->isVolatile()) + // Be conservative in the face of volatile/atomic. + if (!L->isUnordered()) return ModRef; // If the load address doesn't alias the given address, it doesn't read @@ -283,8 +283,8 @@ AliasAnalysis::getModRefInfo(const LoadInst *L, const Location &Loc) { AliasAnalysis::ModRefResult AliasAnalysis::getModRefInfo(const StoreInst *S, const Location &Loc) { - // Be conservative in the face of volatile. - if (S->isVolatile()) + // Be conservative in the face of volatile/atomic. + if (!S->isUnordered()) return ModRef; // If the store address cannot alias the pointer in question, then the |