[flang-commits] [flang] [Flang] Fix lowering failure for some constructs inside a CHANGE TEAM (PR #184342)
via flang-commits
flang-commits at lists.llvm.org
Fri Mar 27 08:20:15 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results
* 4077 tests passed
* 246 tests skipped
* 6 tests failed
## Failed Tests
(click on a test name to see its output)
### Flang
<details>
<summary>Flang.Fir/MIF/change_team.mlir</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
fir-opt --mif-convert C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\change_team.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\change_team.mlir
# executed command: fir-opt --mif-convert 'C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\change_team.mlir'
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\change_team.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\change_team.mlir:35:11: error: CHECK: expected string not found in input
# | // CHECK: fir.call @_QMprifPprif_change_team(%[[VAL_3]], %[[VAL_1]], %[[VAL_2]], %[[VAL_2]]) : (!fir.box<none>, !fir.ref<i32>, !fir.box<!fir.char<1,?>>, !fir.box<!fir.char<1,?>>) -> ()
# | ^
# | <stdin>:18:160: note: scanning from here
# | %13 = fir.convert %10 : (!fir.box<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>) -> !fir.box<none>
# | ^
# | <stdin>:18:160: note: with "VAL_3" equal to "13"
# | %13 = fir.convert %10 : (!fir.box<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>) -> !fir.box<none>
# | ^
# | <stdin>:18:160: note: with "VAL_1" equal to "11"
# | %13 = fir.convert %10 : (!fir.box<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>) -> !fir.box<none>
# | ^
# | <stdin>:18:160: note: with "VAL_2" equal to "12"
# | %13 = fir.convert %10 : (!fir.box<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>) -> !fir.box<none>
# | ^
# | <stdin>:18:160: note: with "VAL_2" equal to "12"
# | %13 = fir.convert %10 : (!fir.box<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>) -> !fir.box<none>
# | ^
# | <stdin>:40:12: note: possible intended match here
# | func.func private @_QMprifPprif_change_team(!fir.box<none>, !fir.ref<i32>, !fir.box<!fir.char<1,?>>, !fir.box<!fir.char<1,?>>)
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\change_team.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 13: %9 = fir.address_of(@_QQ_QM__fortran_builtinsT__builtin_team_type.DerivedInit) : !fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>
# | 14: fir.copy %9 to %8#0 no_overlap : !fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>, !fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>
# | 15: %10 = fir.embox %8#0 : (!fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>) -> !fir.box<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>
# | 16: %11 = fir.absent !fir.ref<i32>
# | 17: %12 = fir.absent !fir.box<!fir.char<1,?>>
# | 18: %13 = fir.convert %10 : (!fir.box<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>) -> !fir.box<none>
# | check:35'0 X error: no match found
# | check:35'1 with "VAL_3" equal to "13"
# | check:35'2 with "VAL_1" equal to "11"
# | check:35'3 with "VAL_2" equal to "12"
# | check:35'4 with "VAL_2" equal to "12"
# | 19: mif.change_team %10 : (!fir.box<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>) {
# | check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 20: %19 = fir.load %4#0 : !fir.ref<i32>
# | check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 21: %c1_i32 = arith.constant 1 : i32
# | check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 22: %20 = arith.addi %19, %c1_i32 : i32
# | check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 23: hlfir.assign %20 to %4#0 : i32, !fir.ref<i32>
# | check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 35: %20 = fir.absent !fir.box<!fir.char<1,?>>
# | check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 36: mif.end_team : () -> ()
# | check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~
# | 37: }
# | check:35'0 ~~~
# | 38: return
# | check:35'0 ~~~~~~~~
# | 39: }
# | check:35'0 ~~~
# | 40: func.func private @_QMprifPprif_change_team(!fir.box<none>, !fir.ref<i32>, !fir.box<!fir.char<1,?>>, !fir.box<!fir.char<1,?>>)
# | check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:35'5 ? possible intended match
# | 41: func.func private @_QMprifPprif_end_team(!fir.ref<i32>, !fir.box<!fir.char<1,?>>, !fir.box<!fir.char<1,?>>)
# | check:35'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 42: }
# | check:35'0 ~~
# | 43:
# | check:35'0 ~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Flang.Fir/MIF/change_team2.mlir</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
fir-opt --mif-convert C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\change_team2.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\change_team2.mlir
# executed command: fir-opt --mif-convert 'C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\change_team2.mlir'
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\change_team2.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\change_team2.mlir:88:11: error: CHECK: expected string not found in input
# | // CHECK: %[[VAL_14:.*]] = fir.load %[[VAL_2]] : !fir.ref<i32>
# | ^
# | <stdin>:18:95: note: scanning from here
# | fir.call @_QMprifPprif_this_image_no_coarray(%13, %2) : (!fir.box<none>, !fir.ref<i32>) -> ()
# | ^
# | <stdin>:18:95: note: with "VAL_2" equal to "2"
# | fir.call @_QMprifPprif_this_image_no_coarray(%13, %2) : (!fir.box<none>, !fir.ref<i32>) -> ()
# | ^
# | <stdin>:25:2: note: possible intended match here
# | %17 = fir.load %7#0 : !fir.ref<i32>
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\change_team2.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 13: %10 = fir.alloca !fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}> {bindc_name = "team", uniq_name = "_QFEteam"}
# | 14: %11:2 = hlfir.declare %10 {uniq_name = "_QFEteam"} : (!fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>) -> (!fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>, !fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>)
# | 15: %12 = fir.address_of(@_QQ_QM__fortran_builtinsT__builtin_team_type.DerivedInit) : !fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>
# | 16: fir.copy %12 to %11#0 no_overlap : !fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>, !fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>
# | 17: %13 = fir.absent !fir.box<none>
# | 18: fir.call @_QMprifPprif_this_image_no_coarray(%13, %2) : (!fir.box<none>, !fir.ref<i32>) -> ()
# | check:88'0 X error: no match found
# | check:88'1 with "VAL_2" equal to "2"
# | 19: %14 = mif.this_image : () -> i32
# | check:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 20: %c2_i32 = arith.constant 2 : i32
# | check:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 21: %15 = arith.remsi %14, %c2_i32 : i32
# | check:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 22: %c1_i32 = arith.constant 1 : i32
# | check:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 23: %16 = arith.addi %15, %c1_i32 : i32
# | check:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 24: hlfir.assign %16 to %7#0 : i32, !fir.ref<i32>
# | check:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 25: %17 = fir.load %7#0 : !fir.ref<i32>
# | check:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:88'2 ? possible intended match
# | 26: %18 = fir.embox %11#0 : (!fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>) -> !fir.box<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>
# | check:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 27: %19 = fir.convert %17 : (i32) -> i64
# | check:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 28: fir.store %19 to %1 : !fir.ref<i64>
# | check:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 29: %20 = fir.absent !fir.ref<i32>
# | check:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 30: %21 = fir.absent !fir.ref<i32>
# | check:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Flang.Fir/MIF/sync_all.mlir</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
fir-opt --mif-convert C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_all.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_all.mlir
# executed command: fir-opt --mif-convert 'C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_all.mlir'
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_all.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_all.mlir:31:11: error: CHECK: expected string not found in input
# | // CHECK: fir.call @_QMprifPprif_sync_all(%[[VAL_2]], %[[VAL_1]], %[[VAL_1]]) : (!fir.ref<i32>, !fir.box<!fir.char<1,?>>, !fir.box<!fir.char<1,?>>) -> ()
# | ^
# | <stdin>:10:31: note: scanning from here
# | %6 = fir.absent !fir.ref<i32>
# | ^
# | <stdin>:10:31: note: with "VAL_2" equal to "6"
# | %6 = fir.absent !fir.ref<i32>
# | ^
# | <stdin>:10:31: note: with "VAL_1" equal to "5"
# | %6 = fir.absent !fir.ref<i32>
# | ^
# | <stdin>:10:31: note: with "VAL_1" equal to "5"
# | %6 = fir.absent !fir.ref<i32>
# | ^
# | <stdin>:29:12: note: possible intended match here
# | func.func private @_QMprifPprif_sync_all(!fir.ref<i32>, !fir.box<!fir.char<1,?>>, !fir.box<!fir.char<1,?>>)
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_all.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 5: %c128 = arith.constant 128 : index
# | 6: %2:2 = hlfir.declare %1 typeparams %c128 {uniq_name = "_QFEerror_message"} : (!fir.ref<!fir.char<1,128>>, index) -> (!fir.ref<!fir.char<1,128>>, !fir.ref<!fir.char<1,128>>)
# | 7: %3 = fir.alloca i32 {bindc_name = "sync_status", uniq_name = "_QFEsync_status"}
# | 8: %4:2 = hlfir.declare %3 {uniq_name = "_QFEsync_status"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
# | 9: %5 = fir.absent !fir.box<!fir.char<1,?>>
# | 10: %6 = fir.absent !fir.ref<i32>
# | check:31'0 X error: no match found
# | check:31'1 with "VAL_2" equal to "6"
# | check:31'2 with "VAL_1" equal to "5"
# | check:31'3 with "VAL_1" equal to "5"
# | 11: mif.sync_all : () -> ()
# | check:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~
# | 12: %7 = fir.absent !fir.box<!fir.char<1,?>>
# | check:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 13: mif.sync_all stat %4#0 : (!fir.ref<i32>) -> ()
# | check:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 14: %8 = fir.embox %2#0 : (!fir.ref<!fir.char<1,128>>) -> !fir.box<!fir.char<1,128>>
# | check:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 15: %9 = fir.absent !fir.box<!fir.char<1,?>>
# | check:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 24: }
# | check:31'0 ~~~
# | 25: fir.global internal @_QFEerror_message : !fir.char<1,128> {
# | check:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 26: %0 = fir.zero_bits !fir.char<1,128>
# | check:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 27: fir.has_value %0 : !fir.char<1,128>
# | check:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 28: }
# | check:31'0 ~~~
# | 29: func.func private @_QMprifPprif_sync_all(!fir.ref<i32>, !fir.box<!fir.char<1,?>>, !fir.box<!fir.char<1,?>>)
# | check:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:31'4 ? possible intended match
# | 30: }
# | check:31'0 ~~
# | 31:
# | check:31'0 ~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Flang.Fir/MIF/sync_images.mlir</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
fir-opt --mif-convert C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_images.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_images.mlir
# executed command: fir-opt --mif-convert 'C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_images.mlir'
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_images.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_images.mlir:52:12: error: CHECK: expected string not found in input
# | // CHECK: fir.call @_QMprifPprif_sync_images(%[[VAL_2]], %[[STAT]]#0, %[[VAL_4]], %[[VAL_3]]) : (!fir.box<!fir.array<?xi32>>, !fir.ref<i32>, !fir.box<!fir.char<1,?>>, !fir.box<!fir.char<1,?>>) -> ()
# | ^
# | <stdin>:14:81: note: scanning from here
# | %10 = fir.convert %7 : (!fir.box<!fir.char<1,128>>) -> !fir.box<!fir.char<1,?>>
# | ^
# | <stdin>:14:81: note: with "VAL_2" equal to "8"
# | %10 = fir.convert %7 : (!fir.box<!fir.char<1,128>>) -> !fir.box<!fir.char<1,?>>
# | ^
# | <stdin>:14:81: note: with "STAT" equal to "6"
# | %10 = fir.convert %7 : (!fir.box<!fir.char<1,128>>) -> !fir.box<!fir.char<1,?>>
# | ^
# | <stdin>:14:81: note: with "VAL_4" equal to "10"
# | %10 = fir.convert %7 : (!fir.box<!fir.char<1,128>>) -> !fir.box<!fir.char<1,?>>
# | ^
# | <stdin>:14:81: note: with "VAL_3" equal to "9"
# | %10 = fir.convert %7 : (!fir.box<!fir.char<1,128>>) -> !fir.box<!fir.char<1,?>>
# | ^
# | <stdin>:64:12: note: possible intended match here
# | func.func private @_QMprifPprif_sync_images(!fir.box<!fir.array<?xi32>>, !fir.ref<i32>, !fir.box<!fir.char<1,?>>, !fir.box<!fir.char<1,?>>)
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_images.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 9: %5 = fir.alloca i32 {bindc_name = "sync_status", uniq_name = "_QFEsync_status"}
# | 10: %6:2 = hlfir.declare %5 {uniq_name = "_QFEsync_status"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
# | 11: %7 = fir.embox %2#0 : (!fir.ref<!fir.char<1,128>>) -> !fir.box<!fir.char<1,128>>
# | 12: %8 = fir.absent !fir.box<!fir.array<?xi32>>
# | 13: %9 = fir.absent !fir.box<!fir.char<1,?>>
# | 14: %10 = fir.convert %7 : (!fir.box<!fir.char<1,128>>) -> !fir.box<!fir.char<1,?>>
# | check:52'0 X error: no match found
# | check:52'1 with "VAL_2" equal to "8"
# | check:52'2 with "STAT" equal to "6"
# | check:52'3 with "VAL_4" equal to "10"
# | check:52'4 with "VAL_3" equal to "9"
# | 15: mif.sync_images stat %6#0 errmsg %7 : (!fir.ref<i32>, !fir.box<!fir.char<1,128>>) -> ()
# | check:52'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 16: %11 = fir.embox %2#0 : (!fir.ref<!fir.char<1,128>>) -> !fir.box<!fir.char<1,128>>
# | check:52'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 17: %12 = fir.embox %4#0 : (!fir.ref<i32>) -> !fir.box<i32>
# | check:52'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 18: %c1_i32 = arith.constant 1 : i32
# | check:52'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 19: %13 = fir.shape %c1_i32 : (i32) -> !fir.shape<1>
# | check:52'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 59: }
# | check:52'0 ~~~
# | 60: fir.global internal @_QFEerror_message : !fir.char<1,128> {
# | check:52'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 61: %0 = fir.zero_bits !fir.char<1,128>
# | check:52'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 62: fir.has_value %0 : !fir.char<1,128>
# | check:52'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 63: }
# | check:52'0 ~~~
# | 64: func.func private @_QMprifPprif_sync_images(!fir.box<!fir.array<?xi32>>, !fir.ref<i32>, !fir.box<!fir.char<1,?>>, !fir.box<!fir.char<1,?>>)
# | check:52'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:52'5 ? possible intended match
# | 65: }
# | check:52'0 ~~
# | 66:
# | check:52'0 ~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Flang.Fir/MIF/sync_memory.mlir</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
fir-opt --mif-convert C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_memory.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_memory.mlir
# executed command: fir-opt --mif-convert 'C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_memory.mlir'
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_memory.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_memory.mlir:31:11: error: CHECK: expected string not found in input
# | // CHECK: fir.call @_QMprifPprif_sync_memory(%[[VAL_2]], %[[VAL_1]], %[[VAL_1]]) : (!fir.ref<i32>, !fir.box<!fir.char<1,?>>, !fir.box<!fir.char<1,?>>) -> ()
# | ^
# | <stdin>:10:31: note: scanning from here
# | %6 = fir.absent !fir.ref<i32>
# | ^
# | <stdin>:10:31: note: with "VAL_2" equal to "6"
# | %6 = fir.absent !fir.ref<i32>
# | ^
# | <stdin>:10:31: note: with "VAL_1" equal to "5"
# | %6 = fir.absent !fir.ref<i32>
# | ^
# | <stdin>:10:31: note: with "VAL_1" equal to "5"
# | %6 = fir.absent !fir.ref<i32>
# | ^
# | <stdin>:29:12: note: possible intended match here
# | func.func private @_QMprifPprif_sync_memory(!fir.ref<i32>, !fir.box<!fir.char<1,?>>, !fir.box<!fir.char<1,?>>)
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_memory.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 5: %c128 = arith.constant 128 : index
# | 6: %2:2 = hlfir.declare %1 typeparams %c128 {uniq_name = "_QFEerror_message"} : (!fir.ref<!fir.char<1,128>>, index) -> (!fir.ref<!fir.char<1,128>>, !fir.ref<!fir.char<1,128>>)
# | 7: %3 = fir.alloca i32 {bindc_name = "sync_status", uniq_name = "_QFEsync_status"}
# | 8: %4:2 = hlfir.declare %3 {uniq_name = "_QFEsync_status"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
# | 9: %5 = fir.absent !fir.box<!fir.char<1,?>>
# | 10: %6 = fir.absent !fir.ref<i32>
# | check:31'0 X error: no match found
# | check:31'1 with "VAL_2" equal to "6"
# | check:31'2 with "VAL_1" equal to "5"
# | check:31'3 with "VAL_1" equal to "5"
# | 11: mif.sync_memory : () -> ()
# | check:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 12: %7 = fir.absent !fir.box<!fir.char<1,?>>
# | check:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 13: mif.sync_memory stat %4#0 : (!fir.ref<i32>) -> ()
# | check:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 14: %8 = fir.embox %2#0 : (!fir.ref<!fir.char<1,128>>) -> !fir.box<!fir.char<1,128>>
# | check:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 15: %9 = fir.absent !fir.box<!fir.char<1,?>>
# | check:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 24: }
# | check:31'0 ~~~
# | 25: fir.global internal @_QFEerror_message : !fir.char<1,128> {
# | check:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 26: %0 = fir.zero_bits !fir.char<1,128>
# | check:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 27: fir.has_value %0 : !fir.char<1,128>
# | check:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 28: }
# | check:31'0 ~~~
# | 29: func.func private @_QMprifPprif_sync_memory(!fir.ref<i32>, !fir.box<!fir.char<1,?>>, !fir.box<!fir.char<1,?>>)
# | check:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:31'4 ? possible intended match
# | 30: }
# | check:31'0 ~~
# | 31:
# | check:31'0 ~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Flang.Fir/MIF/sync_team.mlir</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
fir-opt --mif-convert C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_team.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_team.mlir
# executed command: fir-opt --mif-convert 'C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_team.mlir'
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_team.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_team.mlir:37:11: error: CHECK: expected string not found in input
# | // CHECK: fir.call @_QMprifPprif_sync_team(%[[TEAM_2]], %[[VAL_2]], %[[VAL_1]], %[[VAL_1]]) : (!fir.box<none>, !fir.ref<i32>, !fir.box<!fir.char<1,?>>, !fir.box<!fir.char<1,?>>) -> ()
# | ^
# | <stdin>:16:159: note: scanning from here
# | %11 = fir.convert %8 : (!fir.box<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>) -> !fir.box<none>
# | ^
# | <stdin>:16:159: note: with "TEAM_2" equal to "11"
# | %11 = fir.convert %8 : (!fir.box<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>) -> !fir.box<none>
# | ^
# | <stdin>:16:159: note: with "VAL_2" equal to "10"
# | %11 = fir.convert %8 : (!fir.box<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>) -> !fir.box<none>
# | ^
# | <stdin>:16:159: note: with "VAL_1" equal to "9"
# | %11 = fir.convert %8 : (!fir.box<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>) -> !fir.box<none>
# | ^
# | <stdin>:16:159: note: with "VAL_1" equal to "9"
# | %11 = fir.convert %8 : (!fir.box<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>) -> !fir.box<none>
# | ^
# | <stdin>:41:12: note: possible intended match here
# | func.func private @_QMprifPprif_sync_team(!fir.box<none>, !fir.ref<i32>, !fir.box<!fir.char<1,?>>, !fir.box<!fir.char<1,?>>)
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\flang\test\Fir\MIF\sync_team.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 11: %7 = fir.address_of(@_QQ_QM__fortran_builtinsT__builtin_team_type.DerivedInit) : !fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>
# | 12: fir.copy %7 to %6#0 no_overlap : !fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>, !fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>
# | 13: %8 = fir.embox %6#0 : (!fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>) -> !fir.box<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>
# | 14: %9 = fir.absent !fir.box<!fir.char<1,?>>
# | 15: %10 = fir.absent !fir.ref<i32>
# | 16: %11 = fir.convert %8 : (!fir.box<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>) -> !fir.box<none>
# | check:37'0 X error: no match found
# | check:37'1 with "TEAM_2" equal to "11"
# | check:37'2 with "VAL_2" equal to "10"
# | check:37'3 with "VAL_1" equal to "9"
# | check:37'4 with "VAL_1" equal to "9"
# | 17: mif.sync_team %8 : (!fir.box<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>) -> ()
# | check:37'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 18: %12 = fir.embox %6#0 : (!fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>) -> !fir.box<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>
# | check:37'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 19: %13 = fir.absent !fir.box<!fir.char<1,?>>
# | check:37'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 20: %14 = fir.convert %12 : (!fir.box<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>) -> !fir.box<none>
# | check:37'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 21: mif.sync_team %12 stat %4#0 : (!fir.box<!fir.type<_QM__fortran_builtinsT__builtin_team_type{_QM__fortran_builtinsT__builtin_team_type.__id:i64}>>, !fir.ref<i32>) -> ()
# | check:37'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 36: }
# | check:37'0 ~~~
# | 37: fir.global internal @_QFEerror_message : !fir.char<1,128> {
# | check:37'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 38: %0 = fir.zero_bits !fir.char<1,128>
# | check:37'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 39: fir.has_value %0 : !fir.char<1,128>
# | check:37'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 40: }
# | check:37'0 ~~~
# | 41: func.func private @_QMprifPprif_sync_team(!fir.box<none>, !fir.ref<i32>, !fir.box<!fir.char<1,?>>, !fir.box<!fir.char<1,?>>)
# | check:37'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:37'5 ? possible intended match
# | 42: }
# | check:37'0 ~~
# | 43:
# | check:37'0 ~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.
https://github.com/llvm/llvm-project/pull/184342
More information about the flang-commits
mailing list