1*9880d681SAndroid Build Coastguard Worker; RUN: opt %s -S -simplifycfg | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workerdeclare void @is(i1) 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker; If A == B is false then A == B is implied false. 6*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test_eq_eq 7*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: call void @is(i1 true) 8*9880d681SAndroid Build Coastguard Worker; CHECK: call void @is(i1 false) 9*9880d681SAndroid Build Coastguard Workerdefine void @test_eq_eq(i32 %a, i32 %b) { 10*9880d681SAndroid Build Coastguard Worker %cmp1 = icmp eq i32 %a, %b 11*9880d681SAndroid Build Coastguard Worker br i1 %cmp1, label %untaken, label %taken 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Workertaken: 14*9880d681SAndroid Build Coastguard Worker %cmp2 = icmp eq i32 %a, %b 15*9880d681SAndroid Build Coastguard Worker br i1 %cmp2, label %istrue, label %isfalse 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Workeristrue: 18*9880d681SAndroid Build Coastguard Worker call void @is(i1 true) 19*9880d681SAndroid Build Coastguard Worker ret void 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Workerisfalse: 22*9880d681SAndroid Build Coastguard Worker call void @is(i1 false) 23*9880d681SAndroid Build Coastguard Worker ret void 24*9880d681SAndroid Build Coastguard Worker 25*9880d681SAndroid Build Coastguard Workeruntaken: 26*9880d681SAndroid Build Coastguard Worker ret void 27*9880d681SAndroid Build Coastguard Worker} 28*9880d681SAndroid Build Coastguard Worker 29*9880d681SAndroid Build Coastguard Worker; If A == B is false then A != B is implied true. 30*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test_eq_ne 31*9880d681SAndroid Build Coastguard Worker; CHECK: call void @is(i1 true) 32*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: call void @is(i1 false) 33*9880d681SAndroid Build Coastguard Workerdefine void @test_eq_ne(i32 %a, i32 %b) { 34*9880d681SAndroid Build Coastguard Worker %cmp1 = icmp eq i32 %a, %b 35*9880d681SAndroid Build Coastguard Worker br i1 %cmp1, label %untaken, label %taken 36*9880d681SAndroid Build Coastguard Worker 37*9880d681SAndroid Build Coastguard Workertaken: 38*9880d681SAndroid Build Coastguard Worker %cmp2 = icmp ne i32 %a, %b 39*9880d681SAndroid Build Coastguard Worker br i1 %cmp2, label %istrue, label %isfalse 40*9880d681SAndroid Build Coastguard Worker 41*9880d681SAndroid Build Coastguard Workeristrue: 42*9880d681SAndroid Build Coastguard Worker call void @is(i1 true) 43*9880d681SAndroid Build Coastguard Worker ret void 44*9880d681SAndroid Build Coastguard Worker 45*9880d681SAndroid Build Coastguard Workerisfalse: 46*9880d681SAndroid Build Coastguard Worker call void @is(i1 false) 47*9880d681SAndroid Build Coastguard Worker ret void 48*9880d681SAndroid Build Coastguard Worker 49*9880d681SAndroid Build Coastguard Workeruntaken: 50*9880d681SAndroid Build Coastguard Worker ret void 51*9880d681SAndroid Build Coastguard Worker} 52*9880d681SAndroid Build Coastguard Worker 53*9880d681SAndroid Build Coastguard Worker; If A != B is false then A != B is implied false. 54*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test_ne_ne 55*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: call void @is(i1 true) 56*9880d681SAndroid Build Coastguard Worker; CHECK: call void @is(i1 false) 57*9880d681SAndroid Build Coastguard Workerdefine void @test_ne_ne(i32 %a, i32 %b) { 58*9880d681SAndroid Build Coastguard Worker %cmp1 = icmp ne i32 %a, %b 59*9880d681SAndroid Build Coastguard Worker br i1 %cmp1, label %untaken, label %taken 60*9880d681SAndroid Build Coastguard Worker 61*9880d681SAndroid Build Coastguard Workertaken: 62*9880d681SAndroid Build Coastguard Worker %cmp2 = icmp ne i32 %a, %b 63*9880d681SAndroid Build Coastguard Worker br i1 %cmp2, label %istrue, label %isfalse 64*9880d681SAndroid Build Coastguard Worker 65*9880d681SAndroid Build Coastguard Workeristrue: 66*9880d681SAndroid Build Coastguard Worker call void @is(i1 true) 67*9880d681SAndroid Build Coastguard Worker ret void 68*9880d681SAndroid Build Coastguard Worker 69*9880d681SAndroid Build Coastguard Workerisfalse: 70*9880d681SAndroid Build Coastguard Worker call void @is(i1 false) 71*9880d681SAndroid Build Coastguard Worker ret void 72*9880d681SAndroid Build Coastguard Worker 73*9880d681SAndroid Build Coastguard Workeruntaken: 74*9880d681SAndroid Build Coastguard Worker ret void 75*9880d681SAndroid Build Coastguard Worker} 76*9880d681SAndroid Build Coastguard Worker 77*9880d681SAndroid Build Coastguard Worker; If A != B is false then A >u B is implied false. 78*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test_ne_ugt 79*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: call void @is(i1 true) 80*9880d681SAndroid Build Coastguard Worker; CHECK: call void @is(i1 false) 81*9880d681SAndroid Build Coastguard Workerdefine void @test_ne_ugt(i32 %a, i32 %b) { 82*9880d681SAndroid Build Coastguard Worker %cmp1 = icmp ne i32 %a, %b 83*9880d681SAndroid Build Coastguard Worker br i1 %cmp1, label %untaken, label %taken 84*9880d681SAndroid Build Coastguard Worker 85*9880d681SAndroid Build Coastguard Workertaken: 86*9880d681SAndroid Build Coastguard Worker %cmp2 = icmp ugt i32 %a, %b 87*9880d681SAndroid Build Coastguard Worker br i1 %cmp2, label %istrue, label %isfalse 88*9880d681SAndroid Build Coastguard Worker 89*9880d681SAndroid Build Coastguard Workeristrue: 90*9880d681SAndroid Build Coastguard Worker call void @is(i1 true) 91*9880d681SAndroid Build Coastguard Worker ret void 92*9880d681SAndroid Build Coastguard Worker 93*9880d681SAndroid Build Coastguard Workerisfalse: 94*9880d681SAndroid Build Coastguard Worker call void @is(i1 false) 95*9880d681SAndroid Build Coastguard Worker ret void 96*9880d681SAndroid Build Coastguard Worker 97*9880d681SAndroid Build Coastguard Workeruntaken: 98*9880d681SAndroid Build Coastguard Worker ret void 99*9880d681SAndroid Build Coastguard Worker} 100*9880d681SAndroid Build Coastguard Worker 101*9880d681SAndroid Build Coastguard Worker; If A != B is false then A >=u B is implied true. 102*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test_ne_uge 103*9880d681SAndroid Build Coastguard Worker; CHECK: call void @is(i1 true) 104*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: call void @is(i1 false) 105*9880d681SAndroid Build Coastguard Workerdefine void @test_ne_uge(i32 %a, i32 %b) { 106*9880d681SAndroid Build Coastguard Worker %cmp1 = icmp ne i32 %a, %b 107*9880d681SAndroid Build Coastguard Worker br i1 %cmp1, label %untaken, label %taken 108*9880d681SAndroid Build Coastguard Worker 109*9880d681SAndroid Build Coastguard Workertaken: 110*9880d681SAndroid Build Coastguard Worker %cmp2 = icmp uge i32 %a, %b 111*9880d681SAndroid Build Coastguard Worker br i1 %cmp2, label %istrue, label %isfalse 112*9880d681SAndroid Build Coastguard Worker 113*9880d681SAndroid Build Coastguard Workeristrue: 114*9880d681SAndroid Build Coastguard Worker call void @is(i1 true) 115*9880d681SAndroid Build Coastguard Worker ret void 116*9880d681SAndroid Build Coastguard Worker 117*9880d681SAndroid Build Coastguard Workerisfalse: 118*9880d681SAndroid Build Coastguard Worker call void @is(i1 false) 119*9880d681SAndroid Build Coastguard Worker ret void 120*9880d681SAndroid Build Coastguard Worker 121*9880d681SAndroid Build Coastguard Workeruntaken: 122*9880d681SAndroid Build Coastguard Worker ret void 123*9880d681SAndroid Build Coastguard Worker} 124*9880d681SAndroid Build Coastguard Worker 125*9880d681SAndroid Build Coastguard Worker; If A != B is false then A <u B is implied false. 126*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test_ne_ult 127*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: call void @is(i1 true) 128*9880d681SAndroid Build Coastguard Worker; CHECK: call void @is(i1 false) 129*9880d681SAndroid Build Coastguard Workerdefine void @test_ne_ult(i32 %a, i32 %b) { 130*9880d681SAndroid Build Coastguard Worker %cmp1 = icmp ne i32 %a, %b 131*9880d681SAndroid Build Coastguard Worker br i1 %cmp1, label %untaken, label %taken 132*9880d681SAndroid Build Coastguard Worker 133*9880d681SAndroid Build Coastguard Workertaken: 134*9880d681SAndroid Build Coastguard Worker %cmp2 = icmp ult i32 %a, %b 135*9880d681SAndroid Build Coastguard Worker br i1 %cmp2, label %istrue, label %isfalse 136*9880d681SAndroid Build Coastguard Worker 137*9880d681SAndroid Build Coastguard Workeristrue: 138*9880d681SAndroid Build Coastguard Worker call void @is(i1 true) 139*9880d681SAndroid Build Coastguard Worker ret void 140*9880d681SAndroid Build Coastguard Worker 141*9880d681SAndroid Build Coastguard Workerisfalse: 142*9880d681SAndroid Build Coastguard Worker call void @is(i1 false) 143*9880d681SAndroid Build Coastguard Worker ret void 144*9880d681SAndroid Build Coastguard Worker 145*9880d681SAndroid Build Coastguard Workeruntaken: 146*9880d681SAndroid Build Coastguard Worker ret void 147*9880d681SAndroid Build Coastguard Worker} 148*9880d681SAndroid Build Coastguard Worker 149*9880d681SAndroid Build Coastguard Worker; If A != B is false then A <=u B is implied true. 150*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test_ne_ule 151*9880d681SAndroid Build Coastguard Worker; CHECK: call void @is(i1 true) 152*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: call void @is(i1 false) 153*9880d681SAndroid Build Coastguard Workerdefine void @test_ne_ule(i32 %a, i32 %b) { 154*9880d681SAndroid Build Coastguard Worker %cmp1 = icmp ne i32 %a, %b 155*9880d681SAndroid Build Coastguard Worker br i1 %cmp1, label %untaken, label %taken 156*9880d681SAndroid Build Coastguard Worker 157*9880d681SAndroid Build Coastguard Workertaken: 158*9880d681SAndroid Build Coastguard Worker %cmp2 = icmp ule i32 %a, %b 159*9880d681SAndroid Build Coastguard Worker br i1 %cmp2, label %istrue, label %isfalse 160*9880d681SAndroid Build Coastguard Worker 161*9880d681SAndroid Build Coastguard Workeristrue: 162*9880d681SAndroid Build Coastguard Worker call void @is(i1 true) 163*9880d681SAndroid Build Coastguard Worker ret void 164*9880d681SAndroid Build Coastguard Worker 165*9880d681SAndroid Build Coastguard Workerisfalse: 166*9880d681SAndroid Build Coastguard Worker call void @is(i1 false) 167*9880d681SAndroid Build Coastguard Worker ret void 168*9880d681SAndroid Build Coastguard Worker 169*9880d681SAndroid Build Coastguard Workeruntaken: 170*9880d681SAndroid Build Coastguard Worker ret void 171*9880d681SAndroid Build Coastguard Worker} 172*9880d681SAndroid Build Coastguard Worker 173*9880d681SAndroid Build Coastguard Worker; If A >u B is false then A >u B is implied false. 174*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test_ugt_ugt 175*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: call void @is(i1 true) 176*9880d681SAndroid Build Coastguard Worker; CHECK: call void @is(i1 false) 177*9880d681SAndroid Build Coastguard Workerdefine void @test_ugt_ugt(i32 %a, i32 %b) { 178*9880d681SAndroid Build Coastguard Worker %cmp1 = icmp ugt i32 %a, %b 179*9880d681SAndroid Build Coastguard Worker br i1 %cmp1, label %untaken, label %taken 180*9880d681SAndroid Build Coastguard Worker 181*9880d681SAndroid Build Coastguard Workertaken: 182*9880d681SAndroid Build Coastguard Worker %cmp2 = icmp ugt i32 %a, %b 183*9880d681SAndroid Build Coastguard Worker br i1 %cmp2, label %istrue, label %isfalse 184*9880d681SAndroid Build Coastguard Worker 185*9880d681SAndroid Build Coastguard Workeristrue: 186*9880d681SAndroid Build Coastguard Worker call void @is(i1 true) 187*9880d681SAndroid Build Coastguard Worker ret void 188*9880d681SAndroid Build Coastguard Worker 189*9880d681SAndroid Build Coastguard Workerisfalse: 190*9880d681SAndroid Build Coastguard Worker call void @is(i1 false) 191*9880d681SAndroid Build Coastguard Worker ret void 192*9880d681SAndroid Build Coastguard Worker 193*9880d681SAndroid Build Coastguard Workeruntaken: 194*9880d681SAndroid Build Coastguard Worker ret void 195*9880d681SAndroid Build Coastguard Worker} 196*9880d681SAndroid Build Coastguard Worker 197*9880d681SAndroid Build Coastguard Worker; If A >u B is false then A <=u B is implied true. 198*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test_ugt_ule 199*9880d681SAndroid Build Coastguard Worker; CHECK: call void @is(i1 true) 200*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: call void @is(i1 false) 201*9880d681SAndroid Build Coastguard Workerdefine void @test_ugt_ule(i32 %a, i32 %b) { 202*9880d681SAndroid Build Coastguard Worker %cmp1 = icmp ugt i32 %a, %b 203*9880d681SAndroid Build Coastguard Worker br i1 %cmp1, label %untaken, label %taken 204*9880d681SAndroid Build Coastguard Worker 205*9880d681SAndroid Build Coastguard Workertaken: 206*9880d681SAndroid Build Coastguard Worker %cmp2 = icmp ule i32 %a, %b 207*9880d681SAndroid Build Coastguard Worker br i1 %cmp2, label %istrue, label %isfalse 208*9880d681SAndroid Build Coastguard Worker 209*9880d681SAndroid Build Coastguard Workeristrue: 210*9880d681SAndroid Build Coastguard Worker call void @is(i1 true) 211*9880d681SAndroid Build Coastguard Worker ret void 212*9880d681SAndroid Build Coastguard Worker 213*9880d681SAndroid Build Coastguard Workerisfalse: 214*9880d681SAndroid Build Coastguard Worker call void @is(i1 false) 215*9880d681SAndroid Build Coastguard Worker ret void 216*9880d681SAndroid Build Coastguard Worker 217*9880d681SAndroid Build Coastguard Workeruntaken: 218*9880d681SAndroid Build Coastguard Worker ret void 219*9880d681SAndroid Build Coastguard Worker} 220*9880d681SAndroid Build Coastguard Worker 221*9880d681SAndroid Build Coastguard Worker; If A >=u B is false then A >=u B is implied false. 222*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test_uge_uge 223*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: call void @is(i1 true) 224*9880d681SAndroid Build Coastguard Worker; CHECK: call void @is(i1 false) 225*9880d681SAndroid Build Coastguard Workerdefine void @test_uge_uge(i32 %a, i32 %b) { 226*9880d681SAndroid Build Coastguard Worker %cmp1 = icmp uge i32 %a, %b 227*9880d681SAndroid Build Coastguard Worker br i1 %cmp1, label %untaken, label %taken 228*9880d681SAndroid Build Coastguard Worker 229*9880d681SAndroid Build Coastguard Workertaken: 230*9880d681SAndroid Build Coastguard Worker %cmp2 = icmp uge i32 %a, %b 231*9880d681SAndroid Build Coastguard Worker br i1 %cmp2, label %istrue, label %isfalse 232*9880d681SAndroid Build Coastguard Worker 233*9880d681SAndroid Build Coastguard Workeristrue: 234*9880d681SAndroid Build Coastguard Worker call void @is(i1 true) 235*9880d681SAndroid Build Coastguard Worker ret void 236*9880d681SAndroid Build Coastguard Worker 237*9880d681SAndroid Build Coastguard Workerisfalse: 238*9880d681SAndroid Build Coastguard Worker call void @is(i1 false) 239*9880d681SAndroid Build Coastguard Worker ret void 240*9880d681SAndroid Build Coastguard Worker 241*9880d681SAndroid Build Coastguard Workeruntaken: 242*9880d681SAndroid Build Coastguard Worker ret void 243*9880d681SAndroid Build Coastguard Worker} 244*9880d681SAndroid Build Coastguard Worker 245*9880d681SAndroid Build Coastguard Worker; If A >=u B is false then A <u B is implied true. 246*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test_uge_ult 247*9880d681SAndroid Build Coastguard Worker; CHECK: call void @is(i1 true) 248*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: call void @is(i1 false) 249*9880d681SAndroid Build Coastguard Workerdefine void @test_uge_ult(i32 %a, i32 %b) { 250*9880d681SAndroid Build Coastguard Worker %cmp1 = icmp uge i32 %a, %b 251*9880d681SAndroid Build Coastguard Worker br i1 %cmp1, label %untaken, label %taken 252*9880d681SAndroid Build Coastguard Worker 253*9880d681SAndroid Build Coastguard Workertaken: 254*9880d681SAndroid Build Coastguard Worker %cmp2 = icmp ult i32 %a, %b 255*9880d681SAndroid Build Coastguard Worker br i1 %cmp2, label %istrue, label %isfalse 256*9880d681SAndroid Build Coastguard Worker 257*9880d681SAndroid Build Coastguard Workeristrue: 258*9880d681SAndroid Build Coastguard Worker call void @is(i1 true) 259*9880d681SAndroid Build Coastguard Worker ret void 260*9880d681SAndroid Build Coastguard Worker 261*9880d681SAndroid Build Coastguard Workerisfalse: 262*9880d681SAndroid Build Coastguard Worker call void @is(i1 false) 263*9880d681SAndroid Build Coastguard Worker ret void 264*9880d681SAndroid Build Coastguard Worker 265*9880d681SAndroid Build Coastguard Workeruntaken: 266*9880d681SAndroid Build Coastguard Worker ret void 267*9880d681SAndroid Build Coastguard Worker} 268*9880d681SAndroid Build Coastguard Worker 269*9880d681SAndroid Build Coastguard Worker; If A >=u B is false then A <=u B is implied true. 270*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test_uge_ule 271*9880d681SAndroid Build Coastguard Worker; CHECK: call void @is(i1 true) 272*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: call void @is(i1 false) 273*9880d681SAndroid Build Coastguard Workerdefine void @test_uge_ule(i32 %a, i32 %b) { 274*9880d681SAndroid Build Coastguard Worker %cmp1 = icmp uge i32 %a, %b 275*9880d681SAndroid Build Coastguard Worker br i1 %cmp1, label %untaken, label %taken 276*9880d681SAndroid Build Coastguard Worker 277*9880d681SAndroid Build Coastguard Workertaken: 278*9880d681SAndroid Build Coastguard Worker %cmp2 = icmp ule i32 %a, %b 279*9880d681SAndroid Build Coastguard Worker br i1 %cmp2, label %istrue, label %isfalse 280*9880d681SAndroid Build Coastguard Worker 281*9880d681SAndroid Build Coastguard Workeristrue: 282*9880d681SAndroid Build Coastguard Worker call void @is(i1 true) 283*9880d681SAndroid Build Coastguard Worker ret void 284*9880d681SAndroid Build Coastguard Worker 285*9880d681SAndroid Build Coastguard Workerisfalse: 286*9880d681SAndroid Build Coastguard Worker call void @is(i1 false) 287*9880d681SAndroid Build Coastguard Worker ret void 288*9880d681SAndroid Build Coastguard Worker 289*9880d681SAndroid Build Coastguard Workeruntaken: 290*9880d681SAndroid Build Coastguard Worker ret void 291*9880d681SAndroid Build Coastguard Worker} 292*9880d681SAndroid Build Coastguard Worker 293*9880d681SAndroid Build Coastguard Worker; If A <u B is false then A <u B is implied false. 294*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test_ult_ult 295*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: call void @is(i1 true) 296*9880d681SAndroid Build Coastguard Worker; CHECK: call void @is(i1 false) 297*9880d681SAndroid Build Coastguard Workerdefine void @test_ult_ult(i32 %a, i32 %b) { 298*9880d681SAndroid Build Coastguard Worker %cmp1 = icmp ult i32 %a, %b 299*9880d681SAndroid Build Coastguard Worker br i1 %cmp1, label %untaken, label %taken 300*9880d681SAndroid Build Coastguard Worker 301*9880d681SAndroid Build Coastguard Workertaken: 302*9880d681SAndroid Build Coastguard Worker %cmp2 = icmp ult i32 %a, %b 303*9880d681SAndroid Build Coastguard Worker br i1 %cmp2, label %istrue, label %isfalse 304*9880d681SAndroid Build Coastguard Worker 305*9880d681SAndroid Build Coastguard Workeristrue: 306*9880d681SAndroid Build Coastguard Worker call void @is(i1 true) 307*9880d681SAndroid Build Coastguard Worker ret void 308*9880d681SAndroid Build Coastguard Worker 309*9880d681SAndroid Build Coastguard Workerisfalse: 310*9880d681SAndroid Build Coastguard Worker call void @is(i1 false) 311*9880d681SAndroid Build Coastguard Worker ret void 312*9880d681SAndroid Build Coastguard Worker 313*9880d681SAndroid Build Coastguard Workeruntaken: 314*9880d681SAndroid Build Coastguard Worker ret void 315*9880d681SAndroid Build Coastguard Worker} 316*9880d681SAndroid Build Coastguard Worker 317*9880d681SAndroid Build Coastguard Worker; If A <=u B is false then A <=u B is implied false. 318*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test_ule_ule 319*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: call void @is(i1 true) 320*9880d681SAndroid Build Coastguard Worker; CHECK: call void @is(i1 false) 321*9880d681SAndroid Build Coastguard Workerdefine void @test_ule_ule(i32 %a, i32 %b) { 322*9880d681SAndroid Build Coastguard Worker %cmp1 = icmp ule i32 %a, %b 323*9880d681SAndroid Build Coastguard Worker br i1 %cmp1, label %untaken, label %taken 324*9880d681SAndroid Build Coastguard Worker 325*9880d681SAndroid Build Coastguard Workertaken: 326*9880d681SAndroid Build Coastguard Worker %cmp2 = icmp ule i32 %a, %b 327*9880d681SAndroid Build Coastguard Worker br i1 %cmp2, label %istrue, label %isfalse 328*9880d681SAndroid Build Coastguard Worker 329*9880d681SAndroid Build Coastguard Workeristrue: 330*9880d681SAndroid Build Coastguard Worker call void @is(i1 true) 331*9880d681SAndroid Build Coastguard Worker ret void 332*9880d681SAndroid Build Coastguard Worker 333*9880d681SAndroid Build Coastguard Workerisfalse: 334*9880d681SAndroid Build Coastguard Worker call void @is(i1 false) 335*9880d681SAndroid Build Coastguard Worker ret void 336*9880d681SAndroid Build Coastguard Worker 337*9880d681SAndroid Build Coastguard Workeruntaken: 338*9880d681SAndroid Build Coastguard Worker ret void 339*9880d681SAndroid Build Coastguard Worker} 340