aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-08-05 00:43:10 +0000
committerDan Gohman <gohman@apple.com>2010-08-05 00:43:10 +0000
commit34fa82f7e82a2845a42d0a2725e70412d06c917b (patch)
treeaf45083a524e0493b13276141600d93e2adbcb27
parent1d9125a6ff192f1346d2b08bbf6ecc9c9e44103d (diff)
Revert r110270 for now. It appears to uncover a memdep bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110293 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Analysis/BasicAliasAnalysis.cpp4
-rw-r--r--test/Analysis/BasicAA/getmodrefinfo-cs-cs.ll1
2 files changed, 3 insertions, 2 deletions
diff --git a/lib/Analysis/BasicAliasAnalysis.cpp b/lib/Analysis/BasicAliasAnalysis.cpp
index ac06e9a2c9..6bb84d4e45 100644
--- a/lib/Analysis/BasicAliasAnalysis.cpp
+++ b/lib/Analysis/BasicAliasAnalysis.cpp
@@ -425,8 +425,8 @@ BasicAliasAnalysis::getModRefInfo(ImmutableCallSite CS1,
ModRefBehavior CS2B = AliasAnalysis::getModRefBehavior(CS2);
if (CS2B == DoesNotAccessMemory) return NoModRef;
- // If CS1 only reads from memory, just return ref.
- if (CS1B == OnlyReadsMemory)
+ // If they both only read from memory, just return ref.
+ if (CS1B == OnlyReadsMemory && CS2B == OnlyReadsMemory)
return Ref;
// Otherwise, fall back to NoAA (mod+ref).
diff --git a/test/Analysis/BasicAA/getmodrefinfo-cs-cs.ll b/test/Analysis/BasicAA/getmodrefinfo-cs-cs.ll
index f655913f3d..953eaa847d 100644
--- a/test/Analysis/BasicAA/getmodrefinfo-cs-cs.ll
+++ b/test/Analysis/BasicAA/getmodrefinfo-cs-cs.ll
@@ -1,4 +1,5 @@
; RUN: opt < %s -aa-eval -print-all-alias-modref-info -disable-output |& FileCheck %s
+; XFAIL: *
; CHECK: Just Ref: call void @ro() <-> call void @f0()