[llvm-commits] [llvm] r50093 - in /llvm/trunk/test/Transforms/JumpThreading: ./ basic.ll dg.exp
Chris Lattner
sabre at nondot.org
Mon Apr 21 23:35:15 PDT 2008
Author: lattner
Date: Tue Apr 22 01:35:14 2008
New Revision: 50093
URL: http://llvm.org/viewvc/llvm-project?rev=50093&view=rev
Log:
add a basic testcase.
Added:
llvm/trunk/test/Transforms/JumpThreading/
llvm/trunk/test/Transforms/JumpThreading/basic.ll
llvm/trunk/test/Transforms/JumpThreading/dg.exp
Added: llvm/trunk/test/Transforms/JumpThreading/basic.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/JumpThreading/basic.ll?rev=50093&view=auto
==============================================================================
--- llvm/trunk/test/Transforms/JumpThreading/basic.ll (added)
+++ llvm/trunk/test/Transforms/JumpThreading/basic.ll Tue Apr 22 01:35:14 2008
@@ -0,0 +1,31 @@
+; RUN: llvm-as < %s | opt -jump-threading -simplifycfg -mem2reg | llvm-dis | grep {ret i32 %v1}
+; There should be no uncond branches left.
+; RUN: llvm-as < %s | opt -jump-threading -simplifycfg -mem2reg | llvm-dis | not grep {br label}
+
+declare i32 @f1()
+declare i32 @f2()
+declare void @f3()
+
+define i32 @test(i1 %cond) {
+ br i1 %cond, label %T1, label %F1
+
+T1:
+ %v1 = call i32 @f1()
+ br label %Merge
+
+F1:
+ %v2 = call i32 @f2()
+ br label %Merge
+
+Merge:
+ %A = phi i1 [true, %T1], [false, %F1]
+ %B = phi i32 [%v1, %T1], [%v2, %F1]
+ br i1 %A, label %T2, label %F2
+
+T2:
+ call void @f3()
+ ret i32 %B
+
+F2:
+ ret i32 %B
+}
Added: llvm/trunk/test/Transforms/JumpThreading/dg.exp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/JumpThreading/dg.exp?rev=50093&view=auto
==============================================================================
--- llvm/trunk/test/Transforms/JumpThreading/dg.exp (added)
+++ llvm/trunk/test/Transforms/JumpThreading/dg.exp Tue Apr 22 01:35:14 2008
@@ -0,0 +1,3 @@
+load_lib llvm.exp
+
+RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.ll]]
More information about the llvm-commits
mailing list