Add a test for my previous PRE fix.
authorOwen Anderson <resistor@mac.com>
Tue, 2 Dec 2008 04:25:42 +0000 (04:25 +0000)
committerOwen Anderson <resistor@mac.com>
Tue, 2 Dec 2008 04:25:42 +0000 (04:25 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60394 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/GVN/pre.ll [new file with mode: 0644]

diff --git a/test/Transforms/GVN/pre.ll b/test/Transforms/GVN/pre.ll
new file mode 100644 (file)
index 0000000..f00bda3
--- /dev/null
@@ -0,0 +1,27 @@
+; RUN: llvm-as < %s | opt -gvn -enable-pre | llvm-dis | grep {.pre}
+
+@H = common global i32 0               ; <i32*> [#uses=2]
+@G = common global i32 0               ; <i32*> [#uses=1]
+
+define i32 @test() nounwind {
+entry:
+       %0 = load i32* @H, align 4              ; <i32> [#uses=2]
+       %1 = call i32 (...)* @foo() nounwind            ; <i32> [#uses=1]
+       %2 = icmp ne i32 %1, 0          ; <i1> [#uses=1]
+       br i1 %2, label %bb, label %bb1
+
+bb:            ; preds = %entry
+       %3 = add i32 %0, 42             ; <i32> [#uses=1]
+       store i32 %3, i32* @G, align 4
+       br label %bb1
+
+bb1:           ; preds = %bb, %entry
+       %4 = add i32 %0, 42             ; <i32> [#uses=1]
+       store i32 %4, i32* @H, align 4
+       br label %return
+
+return:                ; preds = %bb1
+       ret i32 0
+}
+
+declare i32 @foo(...)