Break circular dependency between FIR dialect and utilities
[llvm-project.git] / flang / test / Lower / control-flow.f90
blobb9485f4315b3a7a475c1e7a65a133e5a92b2627e
1 ! Tests for control-flow
3 ! RUN: bbc -emit-fir %s -o - | FileCheck %s
5 ! check the lowering of a RETURN in the body of a SUBROUTINE
6 ! CHECK-LABEL one
7 subroutine one(a,b,c)
8 d = 1.0
9 if (a .ne. b) then
10 ! CHECK: call @_QPone_a
11 call one_a(d)
12 ! CHECK: cond_br %{{.*}}, ^bb[[TB:.*]], ^
13 if (d .eq. 1.0) then
14 ! CHECK-NEXT: ^bb[[TB]]:
15 ! CHECK-NEXT: br ^bb[[EXIT:.*]]
16 return
17 endif
18 else
19 e = 4.0
20 call one_b(c,d,e)
21 endif
22 ! CHECK: ^bb[[EXIT]]:
23 ! CHECK-NEXT: return
24 end subroutine one