diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2011-09-28 00:34:27 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2011-09-28 00:34:27 +0000 |
commit | 5f476dc3ef137e838d8fa25ca6b80c5438e8a48e (patch) | |
tree | 6c6efd9b3a0361a681fdce51be4fc0493a31db01 /llvm/test/Analysis/BasicAA/modref.ll | |
parent | bd5109f14d8a07b844626bd46c98b1f0c63a2b0a (diff) | |
download | bcm5719-llvm-5f476dc3ef137e838d8fa25ca6b80c5438e8a48e.tar.gz bcm5719-llvm-5f476dc3ef137e838d8fa25ca6b80c5438e8a48e.zip |
PR10628: Fix getModRefInfo so it queries the underlying alias() implementation correctly while checking nocapture calls.
llvm-svn: 140666
Diffstat (limited to 'llvm/test/Analysis/BasicAA/modref.ll')
-rw-r--r-- | llvm/test/Analysis/BasicAA/modref.ll | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/llvm/test/Analysis/BasicAA/modref.ll b/llvm/test/Analysis/BasicAA/modref.ll index 233396b7e5c..8421faf9c2c 100644 --- a/llvm/test/Analysis/BasicAA/modref.ll +++ b/llvm/test/Analysis/BasicAA/modref.ll @@ -129,8 +129,23 @@ define i8 @test6(i8* %p, i8* noalias %a) { ; CHECK: ret } +; PR10628 +declare void @test7decl(i32* nocapture %x) +define i32 @test7() nounwind uwtable ssp { +entry: + %x = alloca i32, align 4 + store i32 0, i32* %x, align 4 + %add.ptr = getelementptr inbounds i32* %x, i64 1 + call void @test7decl(i32* %add.ptr) + %tmp = load i32* %x, align 4 + ret i32 %tmp +; CHECK: @test7( +; CHECK: store i32 0 +; CHECK: call void @test7decl +; CHECK: load i32* +} + declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) nounwind declare void @llvm.memset.p0i8.i8(i8* nocapture, i8, i8, i32, i1) nounwind declare void @llvm.memcpy.p0i8.p0i8.i8(i8* nocapture, i8* nocapture, i8, i32, i1) nounwind declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind - |