1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -analyze -scalar-evolution 2>&1 | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker; XFAIL: * 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker; CHECK: (((-1 * %i0) + (100005 smax %i0)) /u 5) 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Workerdefine i32 @foo0(i32 %i0) nounwind { 7*9880d681SAndroid Build Coastguard Workerentry: 8*9880d681SAndroid Build Coastguard Worker br label %bb1 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Workerbb: ; preds = %bb1 11*9880d681SAndroid Build Coastguard Worker %0 = add i32 %j.0, 1 ; <i32> [#uses=1] 12*9880d681SAndroid Build Coastguard Worker %1 = add i32 %i.0, 5 ; <i32> [#uses=1] 13*9880d681SAndroid Build Coastguard Worker br label %bb1 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Workerbb1: ; preds = %bb, %entry 16*9880d681SAndroid Build Coastguard Worker %j.0 = phi i32 [ 0, %entry ], [ %0, %bb ] ; <i32> [#uses=2] 17*9880d681SAndroid Build Coastguard Worker %i.0 = phi i32 [ %i0, %entry ], [ %1, %bb ] ; <i32> [#uses=2] 18*9880d681SAndroid Build Coastguard Worker %2 = icmp sgt i32 %i.0, 100000 ; <i1> [#uses=1] 19*9880d681SAndroid Build Coastguard Worker br i1 %2, label %return, label %bb 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Workerreturn: ; preds = %bb1 22*9880d681SAndroid Build Coastguard Worker ret i32 %j.0 23*9880d681SAndroid Build Coastguard Worker} 24