[llvm-branch-commits] [mlir] [MLIR][NVVM] Enable strict property assembly format (PR #196289)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu May 7 04:40:23 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 7985 tests passed
* 612 tests skipped
* 2 tests failed

## Failed Tests
(click on a test name to see its output)

### Flang
<details>
<summary>Flang.Lower/CUDA/cuda-device-proc.cuf</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
bbc -emit-hlfir -fcuda /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/CUDA/cuda-device-proc.cuf -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/CUDA/cuda-device-proc.cuf
# executed command: bbc -emit-hlfir -fcuda /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/CUDA/cuda-device-proc.cuf -o -
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/CUDA/cuda-device-proc.cuf
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/CUDA/cuda-device-proc.cuf:433:10: error: CHECK: expected string not found in input
# | ! CHECK: nvvm.fence.proxy {kind = #nvvm.proxy_kind<async.shared>, space = #nvvm.shared_space<cta>}
# |          ^
# | <stdin>:1544:55: note: scanning from here
# |  nvvm.mbarrier.init %18, %c256_i32 : !llvm.ptr<3>, i32
# |                                                       ^
# | <stdin>:1545:2: note: possible intended match here
# |  nvvm.fence.proxy <async.shared>, space = <cta>
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/CUDA/cuda-device-proc.cuf:449:10: error: CHECK: expected string not found in input
# | ! CHECK: nvvm.fence.proxy {kind = #nvvm.proxy_kind<async.shared>, space = #nvvm.shared_space<cta>}
# |          ^
# | <stdin>:1557:28: note: scanning from here
# |  func.func @_QPtest_fence() attributes {cuf.proc_attr = #cuf.cuda_proc<global>} {
# |                            ^
# | <stdin>:1569:2: note: possible intended match here
# |  nvvm.fence.proxy <async.shared>, space = <cta>
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/CUDA/cuda-device-proc.cuf
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |           1539:  %15 = fir.alloca i32 {bindc_name = "__builtin_warpsize", uniq_name = "_QM__fortran_builtinsEC__builtin_warpsize"} 
# |           1540:  %16:2 = hlfir.declare %15 {uniq_name = "_QM__fortran_builtinsEC__builtin_warpsize"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>) 
# |           1541:  %c256_i32 = arith.constant 256 : i32 
# |           1542:  %17 = fir.convert %2#0 : (!fir.ref<i64>) -> !llvm.ptr 
# |           1543:  %18 = llvm.addrspacecast %17 : !llvm.ptr to !llvm.ptr<3> 
# |           1544:  nvvm.mbarrier.init %18, %c256_i32 : !llvm.ptr<3>, i32 
# | check:433'0                                                           X error: no match found
# |           1545:  nvvm.fence.proxy <async.shared>, space = <cta> 
# | check:433'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:433'1      ?                                               possible intended match
# |           1546:  %19 = fir.convert %2#0 : (!fir.ref<i64>) -> !llvm.ptr 
# | check:433'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1547:  %20 = llvm.addrspacecast %19 : !llvm.ptr to !llvm.ptr<3> 
# | check:433'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1548:  %21 = nvvm.mbarrier.arrive %20 : !llvm.ptr<3> -> i64 
# | check:433'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1549:  hlfir.assign %21 to %14#0 : i64, !fir.ref<i64> 
# | check:433'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1550:  %22 = fir.load %8#0 : !fir.ref<i32> 
# | check:433'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1551:  %23 = fir.convert %2#0 : (!fir.ref<i64>) -> !llvm.ptr 
# | check:433'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1552:  %24 = llvm.addrspacecast %23 : !llvm.ptr to !llvm.ptr<3> 
# | check:433'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1553:  %25 = nvvm.inline_ptx "mbarrier.arrive.expect_tx.release.cta.shared::cta.b64 %0, [%1], %2;" ro(%24, %22 : !llvm.ptr<3>, i32) -> i64 
# | check:433'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1554:  hlfir.assign %25 to %14#0 : i64, !fir.ref<i64> 
# | check:433'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1555:  return 
# | check:433'0     ~~~~~~~~
# |           1556:  } 
# | check:433'0     ~~~
# |           1557:  func.func @_QPtest_fence() attributes {cuf.proc_attr = #cuf.cuda_proc<global>} { 
# | check:433'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:449'0                                X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |           1558:  %0 = fir.dummy_scope : !fir.dscope 
# | check:449'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1559:  %1 = fir.address_of(@_QM__fortran_builtinsE__builtin_blockdim) : !fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_dim3{x:i32,y:i32,z:i32}>> 
# | check:449'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1560:  %2:2 = hlfir.declare %1 {uniq_name = "_QM__fortran_builtinsE__builtin_blockdim"} : (!fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_dim3{x:i32,y:i32,z:i32}>>) -> (!fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_dim3{x:i32,y:i32,z:i32}>>, !fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_dim3{x:i32,y:i32,z:i32}>>) 
# | check:449'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1561:  %3 = fir.address_of(@_QM__fortran_builtinsE__builtin_blockidx) : !fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_dim3{x:i32,y:i32,z:i32}>> 
# | check:449'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1562:  %4:2 = hlfir.declare %3 {uniq_name = "_QM__fortran_builtinsE__builtin_blockidx"} : (!fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_dim3{x:i32,y:i32,z:i32}>>) -> (!fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_dim3{x:i32,y:i32,z:i32}>>, !fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_dim3{x:i32,y:i32,z:i32}>>) 
# | check:449'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1563:  %5 = fir.address_of(@_QM__fortran_builtinsE__builtin_griddim) : !fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_dim3{x:i32,y:i32,z:i32}>> 
# | check:449'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1564:  %6:2 = hlfir.declare %5 {uniq_name = "_QM__fortran_builtinsE__builtin_griddim"} : (!fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_dim3{x:i32,y:i32,z:i32}>>) -> (!fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_dim3{x:i32,y:i32,z:i32}>>, !fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_dim3{x:i32,y:i32,z:i32}>>) 
# | check:449'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1565:  %7 = fir.address_of(@_QM__fortran_builtinsE__builtin_threadidx) : !fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_dim3{x:i32,y:i32,z:i32}>> 
# | check:449'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1566:  %8:2 = hlfir.declare %7 {uniq_name = "_QM__fortran_builtinsE__builtin_threadidx"} : (!fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_dim3{x:i32,y:i32,z:i32}>>) -> (!fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_dim3{x:i32,y:i32,z:i32}>>, !fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_dim3{x:i32,y:i32,z:i32}>>) 
# | check:449'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1567:  %9 = fir.alloca i32 {bindc_name = "__builtin_warpsize", uniq_name = "_QM__fortran_builtinsEC__builtin_warpsize"} 
# | check:449'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1568:  %10:2 = hlfir.declare %9 {uniq_name = "_QM__fortran_builtinsEC__builtin_warpsize"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>) 
# | check:449'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1569:  nvvm.fence.proxy <async.shared>, space = <cta> 
# | check:449'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:449'1      ?                                               possible intended match
# |           1570:  return 
# | check:449'0     ~~~~~~~~
# |           1571:  } 
# | check:449'0     ~~~
# |           1572:  func.func @_QPtest_tma() attributes {cuf.proc_attr = #cuf.cuda_proc<global>} { 
# | check:449'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1573:  %0 = fir.dummy_scope : !fir.dscope 
# |           1574:  %1 = fir.address_of(@_QM__fortran_builtinsE__builtin_blockdim) : !fir.ref<!fir.type<_QM__fortran_builtinsT__builtin_dim3{x:i32,y:i32,z:i32}>> 
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

### MLIR
<details>
<summary>MLIR.python/dialects/nvvm.py</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/usr/bin/python3 /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/python/dialects/nvvm.py | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/python/dialects/nvvm.py
# executed command: /usr/bin/python3 /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/python/dialects/nvvm.py
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/python/dialects/nvvm.py
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/python/dialects/nvvm.py:276:10: error: CHECK: expected string not found in input
# | # CHECK: %[[STRUCT:.*]] = nvvm.shfl.sync bfly %[[MASK]], %[[I32VAL]], %[[OFF]], %[[CLAMP]] {return_value_and_is_valid} : i32 -> !llvm.struct<(i32, i1)>
# |          ^
# | <stdin>:102:66: note: scanning from here
# |  %1 = nvvm.shfl.sync bfly %arg0, %arg2, %arg3, %arg4 : f32 -> f32
# |                                                                  ^
# | <stdin>:102:66: note: with "MASK" equal to "arg0"
# |  %1 = nvvm.shfl.sync bfly %arg0, %arg2, %arg3, %arg4 : f32 -> f32
# |                                                                  ^
# | <stdin>:102:66: note: with "I32VAL" equal to "arg1"
# |  %1 = nvvm.shfl.sync bfly %arg0, %arg2, %arg3, %arg4 : f32 -> f32
# |                                                                  ^
# | <stdin>:102:66: note: with "OFF" equal to "arg3"
# |  %1 = nvvm.shfl.sync bfly %arg0, %arg2, %arg3, %arg4 : f32 -> f32
# |                                                                  ^
# | <stdin>:102:66: note: with "CLAMP" equal to "arg4"
# |  %1 = nvvm.shfl.sync bfly %arg0, %arg2, %arg3, %arg4 : f32 -> f32
# |                                                                  ^
# | <stdin>:103:5: note: possible intended match here
# |  %2 = nvvm.shfl.sync bfly %arg0, %arg1, %arg3, %arg4 <{return_value_and_is_valid}> : i32 -> !llvm.struct<(i32, i1)>
# |     ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/python/dialects/nvvm.py
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |             97:  
# |             98: TEST: test_shfl_sync_infer_type 
# |             99: module { 
# |            100:  func.func @shfl_sync_ops(%arg0: i32, %arg1: i32, %arg2: f32, %arg3: i32, %arg4: i32) -> i32 { 
# |            101:  %0 = nvvm.shfl.sync bfly %arg0, %arg1, %arg3, %arg4 : i32 -> i32 
# |            102:  %1 = nvvm.shfl.sync bfly %arg0, %arg2, %arg3, %arg4 : f32 -> f32 
# | check:276'0                                                                      X error: no match found
# | check:276'1                                                                        with "MASK" equal to "arg0"
# | check:276'2                                                                        with "I32VAL" equal to "arg1"
# | check:276'3                                                                        with "OFF" equal to "arg3"
# | check:276'4                                                                        with "CLAMP" equal to "arg4"
# |            103:  %2 = nvvm.shfl.sync bfly %arg0, %arg1, %arg3, %arg4 <{return_value_and_is_valid}> : i32 -> !llvm.struct<(i32, i1)> 
# | check:276'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:276'5         ?                                                                                                                possible intended match
# |            104:  return %0 : i32 
# | check:276'0     ~~~~~~~~~~~~~~~~~
# |            105:  } 
# | check:276'0     ~~~
# |            106: } 
# | check:276'0     ~~
# |            107:  
# | check:276'0     ~
# |            108:  
# | check:276'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/196289


More information about the llvm-branch-commits mailing list