xref: /llvm-project/flang/test/Lower/irreducible.f90 (revision 3348c08359d39b4903f13be7e1bfa32dc27f748e)
1! RUN: bbc %s -o "-" | FileCheck %s
2
3      ! CHECK-LABEL: irreducible
4      subroutine irreducible(k)
5        ! CHECK: cond_br %{{[0-9]+}}, ^bb1, ^bb2
6        if (k < 5) goto 20
7        ! CHECK: ^bb1:  // 2 preds: ^bb0, ^bb2
810      print*, k                             ! scc entry #1: (k < 5) is false
9        k = k + 1
10        ! CHECK: ^bb2:  // 2 preds: ^bb0, ^bb1
11        ! CHECK: cond_br %{{[0-9]+}}, ^bb1, ^bb3
1220      if (k < 3) goto 10                    ! scc entry #2: (k < 5) is true
13        ! CHECK: ^bb3:  // pred: ^bb2
14      end
15
16      ! CHECK-LABEL: main
17      program p
18        do i = 0, 6
19          n = i
20          print*
21          print*, 1000 + n
22          call irreducible(n)
23        enddo
24      end
25