aboutsummaryrefslogtreecommitdiffstats
path: root/test/Analysis/BasicAA/nocapture.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Analysis/BasicAA/nocapture.ll')
-rw-r--r--test/Analysis/BasicAA/nocapture.ll14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/Analysis/BasicAA/nocapture.ll b/test/Analysis/BasicAA/nocapture.ll
new file mode 100644
index 0000000..7970fbb
--- /dev/null
+++ b/test/Analysis/BasicAA/nocapture.ll
@@ -0,0 +1,14 @@
+; RUN: opt < %s -basicaa -gvn -instcombine -S | grep {ret i32 0}
+
+declare i32* @test(i32* nocapture)
+
+define i32 @test2() {
+ %P = alloca i32
+ %Q = call i32* @test(i32* %P)
+ %a = load i32* %P
+ store i32 4, i32* %Q ;; cannot clobber P since it is nocapture.
+ %b = load i32* %P
+ %c = sub i32 %a, %b
+ ret i32 %c
+}
+