32 lines · plain
1!RUN: bbc -emit-hlfir -o - %s | FileCheck %s2 3!CHECK-LABEL: func.func @_QPunstructured14!CHECK: fir.select %{{[0-9]+}} : i32 [{{.*}}, ^bb[[BLOCK3:[0-9]+]], {{.*}}, ^bb[[BLOCK4:[0-9]+]], {{.*}}, ^bb[[BLOCK5:[0-9]+]], {{.*}}, ^bb[[BLOCK1:[0-9]+]]]5!CHECK: ^bb[[BLOCK1]]:6!CHECK: cf.cond_br %{{[0-9]+}}, ^bb[[BLOCK2:[0-9]+]], ^bb[[BLOCK4]]7!CHECK: ^bb[[BLOCK2]]:8!CHECK: fir.if9!CHECK: cf.br ^bb[[BLOCK3]]10!CHECK: ^bb[[BLOCK3]]:11!CHECK: %[[C10:[a-z0-9_]+]] = arith.constant 10 : i3212!CHECK: arith.addi {{.*}}, %[[C10]]13!CHECK: cf.br ^bb[[BLOCK4]]14!CHECK: ^bb[[BLOCK4]]:15!CHECK: %[[C100:[a-z0-9_]+]] = arith.constant 100 : i3216!CHECK: arith.addi {{.*}}, %[[C100]]17!CHECK: cf.br ^bb[[BLOCK5]]18!CHECK: ^bb[[BLOCK5]]:19!CHECK: %[[C1000:[a-z0-9_]+]] = arith.constant 1000 : i3220!CHECK: arith.addi {{.*}}, %[[C1000]]21!CHECK: return22subroutine unstructured1(j, k)23 goto (11, 22, 33) j-3 ! computed goto - an expression outside [1,3] is a nop24 if (j == 2) goto 2225 if (j == 1) goto 1126 k = k + 12711 k = k + 102822 k = k + 1002933 k = k + 100030end31 32