1*9880d681SAndroid Build Coastguard Worker; RUN: opt -sccp -S < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 3*9880d681SAndroid Build Coastguard Workertarget triple = "x86_64-unknown-linux-gnu" 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Workerdefine i32 @main() { 6*9880d681SAndroid Build Coastguard Workerentry: 7*9880d681SAndroid Build Coastguard Worker br label %lbl_1154 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Workerlbl_1154: 10*9880d681SAndroid Build Coastguard Worker %b0.0 = phi i32 [ -119, %entry ], [ 0, %lbl_1154 ] 11*9880d681SAndroid Build Coastguard Worker %cmp11 = icmp slt i32 %b0.0, 0 12*9880d681SAndroid Build Coastguard Worker %shl.op = shl i32 33554432, %b0.0 13*9880d681SAndroid Build Coastguard Worker %cmp1445 = icmp ult i32 %shl.op, 33554432 14*9880d681SAndroid Build Coastguard Worker %cmp14 = or i1 %cmp11, %cmp1445 15*9880d681SAndroid Build Coastguard Worker br i1 %cmp14, label %lbl_1154, label %if.end19 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Workerif.end19: 18*9880d681SAndroid Build Coastguard Worker br i1 %cmp11, label %if.then22, label %cleanup26 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Workerif.then22: 21*9880d681SAndroid Build Coastguard Worker tail call void @abort() 22*9880d681SAndroid Build Coastguard Worker unreachable 23*9880d681SAndroid Build Coastguard Worker 24*9880d681SAndroid Build Coastguard Workercleanup26: 25*9880d681SAndroid Build Coastguard Worker ret i32 %shl.op 26*9880d681SAndroid Build Coastguard Worker} 27*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: define i32 @main( 28*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: ret i32 undef 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard Workerdeclare void @abort() 31