llvm/flang/test/Lower/irreducible.f90

! RUN: bbc %s -o "-" | FileCheck %s

      ! CHECK-LABEL: irreducible
      subroutine irreducible(k)
        ! CHECK: cond_br %{{[0-9]+}}, ^bb1, ^bb2
        if (k < 5) goto 20
        ! CHECK: ^bb1:  // 2 preds: ^bb0, ^bb2
10      print*, k                             ! scc entry #1: (k < 5) is false
        k = k + 1
        ! CHECK: ^bb2:  // 2 preds: ^bb0, ^bb1
        ! CHECK: cond_br %{{[0-9]+}}, ^bb1, ^bb3
20      if (k < 3) goto 10                    ! scc entry #2: (k < 5) is true
        ! CHECK: ^bb3:  // pred: ^bb2
      end

      ! CHECK-LABEL: main
      program p
        do i = 0, 6
          n = i
          print*
          print*, 1000 + n
          call irreducible(n)
        enddo
      end