[llvm-commits] [llvm] r96385 - /llvm/trunk/test/Transforms/GVN/pre-load.ll

Bob Wilson bob.wilson at apple.com
Tue Feb 16 12:49:04 PST 2010


Author: bwilson
Date: Tue Feb 16 14:48:55 2010
New Revision: 96385

URL: http://llvm.org/viewvc/llvm-project?rev=96385&view=rev
Log:
Testcase for critical edge splitting with load PRE.

Modified:
    llvm/trunk/test/Transforms/GVN/pre-load.ll

Modified: llvm/trunk/test/Transforms/GVN/pre-load.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/GVN/pre-load.ll?rev=96385&r1=96384&r2=96385&view=diff

==============================================================================
--- llvm/trunk/test/Transforms/GVN/pre-load.ll (original)
+++ llvm/trunk/test/Transforms/GVN/pre-load.ll Tue Feb 16 14:48:55 2010
@@ -362,3 +362,30 @@
 return:
   ret void
 }
+
+; Test critical edge splitting.
+define i32 @test11(i32* %p, i1 %C, i32 %N) {
+; CHECK: @test11
+block1:
+        br i1 %C, label %block2, label %block3
+
+block2:
+ %cond = icmp sgt i32 %N, 1
+ br i1 %cond, label %block4, label %block5
+; CHECK: load i32* %p
+; CHECK-NEXT: br label %block4
+
+block3:
+  store i32 0, i32* %p
+  br label %block4
+
+block4:
+  %PRE = load i32* %p
+  br label %block5
+
+block5:
+  %ret = phi i32 [ 0, %block2 ], [ %PRE, %block4 ]
+  ret i32 %ret
+; CHECK: block4:
+; CHECK-NEXT: phi i32
+}





More information about the llvm-commits mailing list