1*9880d681SAndroid Build Coastguard Worker; RUN: opt -indvars -scalar-evolution -analyze < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker; This test checks if the SCEV analysis is printed out at all. 3*9880d681SAndroid Build Coastguard Worker; It failed once as the RequiredTransitive option was not implemented 4*9880d681SAndroid Build Coastguard Worker; correctly. 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker; CHECK: Classifying expressions for: @main 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Workerdefine i32 @main() nounwind { 9*9880d681SAndroid Build Coastguard Workerentry: 10*9880d681SAndroid Build Coastguard Worker br label %for.cond 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Workerfor.cond: ; preds = %for.inc, %entry 13*9880d681SAndroid Build Coastguard Worker %indvar1 = phi i64 [ %indvar.next2, %for.inc ], [ 0, %entry ] ; <i64> [#uses=3] 14*9880d681SAndroid Build Coastguard Worker %exitcond = icmp ne i64 %indvar1, 1024 ; <i1> [#uses=1] 15*9880d681SAndroid Build Coastguard Worker br i1 %exitcond, label %for.body, label %for.end 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Workerfor.body: ; preds = %for.cond 18*9880d681SAndroid Build Coastguard Worker br label %for.inc 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Workerfor.inc: ; preds = %for.body 21*9880d681SAndroid Build Coastguard Worker %indvar.next2 = add i64 %indvar1, 1 ; <i64> [#uses=1] 22*9880d681SAndroid Build Coastguard Worker br label %for.cond 23*9880d681SAndroid Build Coastguard Worker 24*9880d681SAndroid Build Coastguard Workerfor.end: ; preds = %for.cond 25*9880d681SAndroid Build Coastguard Worker ret i32 0 26*9880d681SAndroid Build Coastguard Worker} 27