summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/GVN/null-aliases-nothing.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/GVN/null-aliases-nothing.ll')
-rw-r--r--llvm/test/Transforms/GVN/null-aliases-nothing.ll20
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/test/Transforms/GVN/null-aliases-nothing.ll b/llvm/test/Transforms/GVN/null-aliases-nothing.ll
new file mode 100644
index 00000000000..0b7c5eb5bf9
--- /dev/null
+++ b/llvm/test/Transforms/GVN/null-aliases-nothing.ll
@@ -0,0 +1,20 @@
+; RUN: opt < %s -basicaa -gvn -S | FileCheck %s
+
+%t = type { i32 }
+declare void @test1f(i8*)
+
+define void @test1(%t* noalias %stuff ) {
+ %p = getelementptr inbounds %t, %t* %stuff, i32 0, i32 0
+ %before = load i32, i32* %p
+
+ call void @test1f(i8* null)
+
+ %after = load i32, i32* %p ; <--- This should be a dead load
+ %sum = add i32 %before, %after
+
+ store i32 %sum, i32* %p
+ ret void
+; CHECK: load
+; CHECK-NOT: load
+; CHECK: ret void
+}
OpenPOWER on IntegriCloud