-; RUN: opt < %s -jump-threading -simplifycfg -S | grep {ret i32 0}
+; RUN: opt < %s -jump-threading -S | grep {ret i32 0}
; PR3138
define i32 @jt() {
-; RUN: opt < %s -jump-threading | llvm-dis
+; RUN: opt < %s -jump-threading -S
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
target triple = "i386-apple-darwin9.5"
-; RUN: opt < %s -jump-threading | llvm-dis
+; RUN: opt < %s -jump-threading -S
; PR3353
define i32 @test(i8 %X) {
-; RUN: opt < %s -jump-threading -simplifycfg -mem2reg -S | grep {ret i32 %v1}
+; RUN: opt < %s -jump-threading -S | FileCheck %s
; There should be no uncond branches left.
-; RUN: opt < %s -jump-threading -simplifycfg -mem2reg -S | not grep {br label}
+; RUN: opt < %s -jump-threading -S | not grep {br label}
declare i32 @f1()
declare i32 @f2()
br i1 %A, label %T2, label %F2
T2:
+; CHECK: T2:
+; CHECK: ret i32 %v1
call void @f3()
ret i32 %B
F2:
+; CHECK: F2:
+; CHECK: ret i32 %v2
ret i32 %B
}
br i1 %cond, label %T1, label %F1
T1:
+; CHECK: %v1 = call i32 @f1()
+; CHECK: ret i32 47
%v1 = call i32 @f1()
br label %Merge
; There should be no phi nodes left.
-; RUN: opt < %s -jump-threading -simplifycfg -mem2reg -S | not grep {phi i32}
+; RUN: opt < %s -jump-threading -S | not grep {phi i32}
declare i32 @f1()
declare i32 @f2()
-; RUN: opt < %s -jump-threading -mem2reg -simplifycfg -S | grep {ret i32 1}
+; RUN: opt < %s -jump-threading -simplifycfg -S | grep {ret i32 1}
; rdar://6402033
; Test that we can thread through the block with the partially redundant load (%2).