1*9880d681SAndroid Build Coastguard Worker; RUN: opt -S -licm < %s | FileCheck %s --check-prefix=IR-AFTER-TRANSFORM 2*9880d681SAndroid Build Coastguard Worker; RUN: opt -analyze -scalar-evolution -licm -scalar-evolution < %s | FileCheck %s --check-prefix=SCEV-EXPRS 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Workerdeclare void @clobber() 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Workerdefine void @f_0(i1* %loc) { 7*9880d681SAndroid Build Coastguard Worker; IR-AFTER-TRANSFORM-LABEL: @f_0( 8*9880d681SAndroid Build Coastguard Worker; IR-AFTER-TRANSFORM: loop.outer: 9*9880d681SAndroid Build Coastguard Worker; IR-AFTER-TRANSFORM-NEXT: call void @clobber() 10*9880d681SAndroid Build Coastguard Worker; IR-AFTER-TRANSFORM-NEXT: %cond = load i1, i1* %loc 11*9880d681SAndroid Build Coastguard Worker; IR-AFTER-TRANSFORM-NEXT: br label %loop.inner 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Worker; SCEV-EXPRS: Classifying expressions for: @f_0 14*9880d681SAndroid Build Coastguard Worker; SCEV-EXPRS: Classifying expressions for: @f_0 15*9880d681SAndroid Build Coastguard Worker; SCEV-EXPRS: %cond = load i1, i1* %loc 16*9880d681SAndroid Build Coastguard Worker; SCEV-EXPRS-NEXT: --> {{.*}} LoopDispositions: { %loop.outer: Variant, %loop.inner: Invariant } 17*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Workerentry: 19*9880d681SAndroid Build Coastguard Worker br label %loop.outer 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Workerloop.outer: 22*9880d681SAndroid Build Coastguard Worker call void @clobber() 23*9880d681SAndroid Build Coastguard Worker br label %loop.inner 24*9880d681SAndroid Build Coastguard Worker 25*9880d681SAndroid Build Coastguard Workerloop.inner: 26*9880d681SAndroid Build Coastguard Worker %cond = load i1, i1* %loc 27*9880d681SAndroid Build Coastguard Worker br i1 %cond, label %loop.inner, label %leave.inner 28*9880d681SAndroid Build Coastguard Worker 29*9880d681SAndroid Build Coastguard Workerleave.inner: 30*9880d681SAndroid Build Coastguard Worker br label %loop.outer 31*9880d681SAndroid Build Coastguard Worker} 32