! RUN: %flang_fc1 -mmlir --always-execute-loop-body -emit-hlfir %s -o - | FileCheck %s ! Given the flag `--always-execute-loop-body` the compiler emits an extra ! code to change the trip count, test tries to verify the extra emitted HLFIR. ! CHECK-LABEL: func.func @_QPsome subroutine some() integer :: i ! CHECK: %[[TRIP:.*]] = fir.alloca i32 ! CHECK: %[[I_RAW:.*]] = fir.alloca i32 {bindc_name = "i" ! CHECK: %[[I:.*]]:2 = hlfir.declare %[[I_RAW]] ! CHECK: %[[C1:.*]] = arith.constant 1 : i32 ! CHECK: %[[TRIP_COUNT:.*]] = arith.select {{.*}}, %c1{{.*}}, {{.*}} : i32 ! CHECK: fir.store %[[TRIP_COUNT]] to %[[TRIP]] : !fir.ref ! CHECK: %[[LOADED_TRIP:.*]] = fir.load %[[TRIP]] : !fir.ref ! CHECK: %[[CMP:.*]] = arith.cmpi sgt, %[[LOADED_TRIP]], %c0{{.*}} : i32 ! CHECK: cf.cond_br %[[CMP]] do i=4,1,1 stop 2 end do return end