summaryrefslogtreecommitdiff
path: root/test/Analysis
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2011-09-28 00:34:27 +0000
committerEli Friedman <eli.friedman@gmail.com>2011-09-28 00:34:27 +0000
commite6fadced87cef8faa69f00e3e13fc3a7369210b1 (patch)
tree11b287aeb1d792c05a83dd42a8566ef707ce3870 /test/Analysis
parent56ab875e554d30feb953052c3133ac36f88a3782 (diff)
downloadllvm-e6fadced87cef8faa69f00e3e13fc3a7369210b1.tar.gz
llvm-e6fadced87cef8faa69f00e3e13fc3a7369210b1.tar.bz2
llvm-e6fadced87cef8faa69f00e3e13fc3a7369210b1.tar.xz
PR10628: Fix getModRefInfo so it queries the underlying alias() implementation correctly while checking nocapture calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140666 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Analysis')
-rw-r--r--test/Analysis/BasicAA/modref.ll17
1 files changed, 16 insertions, 1 deletions
diff --git a/test/Analysis/BasicAA/modref.ll b/test/Analysis/BasicAA/modref.ll
index 233396b7e5..8421faf9c2 100644
--- a/test/Analysis/BasicAA/modref.ll
+++ b/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
-