; This test checks to make sure that 'br X, Dest, Dest' is folded into
; 'br Dest'
-; RUN: opt < %s -simplifycfg -S | \
-; RUN: not grep "br i1 %c2"
+; RUN: opt < %s -simplifycfg -S | FileCheck %s
declare void @noop()
+; CHECK-NOT: br i1 %c2
define i32 @test(i1 %c1, i1 %c2) {
call void @noop( )
br i1 %c1, label %A, label %Y
; due to the fact that the SimplifyCFG function does not use
; the ConstantFoldTerminator function.
-; RUN: opt < %s -simplifycfg -S | \
-; RUN: not grep "br i1 %c2"
+; RUN: opt < %s -simplifycfg -S | FileCheck %s
+
+; CHECK-NOT: br i1 %c2
declare void @noop()
-; RUN: opt < %s -simplifycfg -S | \
-; RUN: not grep switch
-
+; RUN: opt < %s -simplifycfg -S | FileCheck %s
+; CHECK-NOT: switch
%llvm.dbg.anchor.type = type { i32, i32 }
%llvm.dbg.compile_unit.type = type { i32, { }*, i32, i8*, i8*, i8*, i1, i1, i8* }
-; RUN: opt < %s -simplifycfg -S | \
-; RUN: not grep switch
+; RUN: opt < %s -simplifycfg -S | FileCheck %s
+
+; CHECK-NOT: switch
; Test normal folding
define i32 @test1() {
; Make sure this doesn't turn into an infinite loop
-; RUN: opt < %s -simplifycfg -constprop -simplifycfg |\
-; RUN: llvm-dis | grep bb86
-; END.
-
+; RUN: opt < %s -simplifycfg -constprop -simplifycfg | llvm-dis | FileCheck %s
+
%struct.anon = type { i32, i32, i32, i32, [1024 x i8] }
@_zero_ = external global %struct.anon* ; <%struct.anon**> [#uses=2]
@_one_ = external global %struct.anon* ; <%struct.anon**> [#uses=4]
%tmp71 = call i32 @_do_compare( %struct.anon* null, %struct.anon* null, i32 0, i32 1 ) ; <i32> [#uses=1]
%tmp76 = icmp eq i32 %tmp71, 0 ; <i1> [#uses=1]
br i1 %tmp76, label %bb80.outer, label %bb80
+; CHECK: bb86
bb86: ; preds = %bb80
call void @free_num( %struct.anon** %num )
%tmp88 = load %struct.anon** %guess ; <%struct.anon*> [#uses=1]
; PR957
-; RUN: opt < %s -simplifycfg -S | \
-; RUN: not grep select
+; RUN: opt < %s -simplifycfg -S | FileCheck %s
+
+; CHECK-NOT: select
@G = extern_weak global i32
-; RUN: opt < %s -simplifycfg -S | not grep invoke
+; RUN: opt < %s -simplifycfg -S | FileCheck %s
+
+; CHECK-NOT: invoke
declare i32 @func(i8*) nounwind
; The phi should not be eliminated in this case, because the fp op could trap.
-; RUN: opt < %s -simplifycfg -S | grep "= phi double"
+; RUN: opt < %s -simplifycfg -S | FileCheck %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 = "i686-apple-darwin8"
br label %cond_next
cond_next: ; preds = %cond_true, %entry
+; CHECK: = phi double
%F.0 = phi double [ %tmp, %entry ], [ %tmp7, %cond_true ] ; <double> [#uses=1]
store double %F.0, double* @G, align 8
ret void