summaryrefslogtreecommitdiffstats
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
commit554b012f6738f9d2abe817029deec40471bbba71 (patch)
tree738d3dfb72dbbc0e923f04c521325c3e9a68ea6d
parent97886d59d1ba9fdeb632a8cbaa42a4a00f9e655c (diff)
downloadbcm5719-llvm-554b012f6738f9d2abe817029deec40471bbba71.tar.gz
bcm5719-llvm-554b012f6738f9d2abe817029deec40471bbba71.zip
Revert r110270 for now. It appears to uncover a memdep bug.
llvm-svn: 110293
-rw-r--r--llvm/lib/Analysis/BasicAliasAnalysis.cpp4
-rw-r--r--llvm/test/Analysis/BasicAA/getmodrefinfo-cs-cs.ll1
2 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Analysis/BasicAliasAnalysis.cpp b/llvm/lib/Analysis/BasicAliasAnalysis.cpp
index ac06e9a2c9d..6bb84d4e458 100644
--- a/llvm/lib/Analysis/BasicAliasAnalysis.cpp
+++ b/llvm/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/llvm/test/Analysis/BasicAA/getmodrefinfo-cs-cs.ll b/llvm/test/Analysis/BasicAA/getmodrefinfo-cs-cs.ll
index f655913f3d1..953eaa847d1 100644
--- a/llvm/test/Analysis/BasicAA/getmodrefinfo-cs-cs.ll
+++ b/llvm/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()
OpenPOWER on IntegriCloud