diff options
author | Dan Gohman <gohman@apple.com> | 2010-08-05 00:43:10 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2010-08-05 00:43:10 +0000 |
commit | 554b012f6738f9d2abe817029deec40471bbba71 (patch) | |
tree | 738d3dfb72dbbc0e923f04c521325c3e9a68ea6d | |
parent | 97886d59d1ba9fdeb632a8cbaa42a4a00f9e655c (diff) | |
download | bcm5719-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.cpp | 4 | ||||
-rw-r--r-- | llvm/test/Analysis/BasicAA/getmodrefinfo-cs-cs.ll | 1 |
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() |