1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -simplifycfg -S | not grep icmp 2*9880d681SAndroid Build Coastguard Worker; ModuleID = '/tmp/x.bc' 3*9880d681SAndroid Build Coastguard Workertarget 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" 4*9880d681SAndroid Build Coastguard Workertarget triple = "i686-pc-linux-gnu" 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Workerdefine i32 @x(i32 %x) { 7*9880d681SAndroid Build Coastguard Workerentry: 8*9880d681SAndroid Build Coastguard Worker %cmp = icmp eq i32 %x, 8 ; <i1> [#uses=1] 9*9880d681SAndroid Build Coastguard Worker br i1 %cmp, label %ifthen, label %ifend 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Workerifthen: ; preds = %entry 12*9880d681SAndroid Build Coastguard Worker %call = call i32 (...) @foo() ; <i32> [#uses=0] 13*9880d681SAndroid Build Coastguard Worker br label %ifend 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Workerifend: ; preds = %ifthen, %entry 16*9880d681SAndroid Build Coastguard Worker %cmp2 = icmp ne i32 %x, 8 ; <i1> [#uses=1] 17*9880d681SAndroid Build Coastguard Worker br i1 %cmp2, label %ifthen3, label %ifend5 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Workerifthen3: ; preds = %ifend 20*9880d681SAndroid Build Coastguard Worker %call4 = call i32 (...) @foo() ; <i32> [#uses=0] 21*9880d681SAndroid Build Coastguard Worker br label %ifend5 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Workerifend5: ; preds = %ifthen3, %ifend 24*9880d681SAndroid Build Coastguard Worker %cmp7 = icmp eq i32 %x, 9 ; <i1> [#uses=1] 25*9880d681SAndroid Build Coastguard Worker br i1 %cmp7, label %ifthen8, label %ifend10 26*9880d681SAndroid Build Coastguard Worker 27*9880d681SAndroid Build Coastguard Workerifthen8: ; preds = %ifend5 28*9880d681SAndroid Build Coastguard Worker %call9 = call i32 (...) @bar() ; <i32> [#uses=0] 29*9880d681SAndroid Build Coastguard Worker br label %ifend10 30*9880d681SAndroid Build Coastguard Worker 31*9880d681SAndroid Build Coastguard Workerifend10: ; preds = %ifthen8, %ifend5 32*9880d681SAndroid Build Coastguard Worker %cmp12 = icmp ne i32 %x, 9 ; <i1> [#uses=1] 33*9880d681SAndroid Build Coastguard Worker br i1 %cmp12, label %ifthen13, label %ifend15 34*9880d681SAndroid Build Coastguard Worker 35*9880d681SAndroid Build Coastguard Workerifthen13: ; preds = %ifend10 36*9880d681SAndroid Build Coastguard Worker %call14 = call i32 (...) @bar() ; <i32> [#uses=0] 37*9880d681SAndroid Build Coastguard Worker br label %ifend15 38*9880d681SAndroid Build Coastguard Worker 39*9880d681SAndroid Build Coastguard Workerifend15: ; preds = %ifthen13, %ifend10 40*9880d681SAndroid Build Coastguard Worker ret i32 0 41*9880d681SAndroid Build Coastguard Worker} 42*9880d681SAndroid Build Coastguard Worker 43*9880d681SAndroid Build Coastguard Workerdeclare i32 @foo(...) 44*9880d681SAndroid Build Coastguard Worker 45*9880d681SAndroid Build Coastguard Workerdeclare i32 @bar(...) 46*9880d681SAndroid Build Coastguard Worker 47