[Mlir-commits] [flang] [mlir] [mlir] Build llvm.mlir.constant attributes from the result type (PR #218607)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Wed Aug 26 02:26:14 PDT 2026


github-actions[bot] wrote:

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

* 8920 tests passed
* 567 tests skipped
* 1 test failed

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

### MLIR
<details>
<summary>MLIR.Conversion/MPIToLLVM/mpitollvm.mlir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 3
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt -split-input-file -convert-to-llvm="dynamic=true" /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt -split-input-file -convert-to-llvm=dynamic=true /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir
# 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/Conversion/MPIToLLVM/mpitollvm.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir:344:12: error: CHECK: expected string not found in input
# |  // CHECK: [[v4:%.*]] = llvm.mlir.constant(1 : index) : i32
# |            ^
# | <stdin>:512:69: note: scanning from here
# |  %9 = llvm.getelementptr %7[%8] : (!llvm.ptr, i32) -> !llvm.ptr, f32
# |                                                                     ^
# | <stdin>:512:69: note: pattern attempts to capture variables: "v4"
# |  %9 = llvm.getelementptr %7[%8] : (!llvm.ptr, i32) -> !llvm.ptr, f32
# |                                                                     ^
# | <stdin>:513:2: note: possible intended match here
# |  %10 = llvm.mlir.constant(1 : i32) : i32
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir:369:12: error: CHECK: expected string not found in input
# |  // CHECK: [[v4:%.*]] = llvm.mlir.constant(1 : index) : i32
# |            ^
# | <stdin>:536:69: note: scanning from here
# |  %9 = llvm.getelementptr %7[%8] : (!llvm.ptr, i16) -> !llvm.ptr, f32
# |                                                                     ^
# | <stdin>:536:69: note: pattern attempts to capture variables: "v4"
# |  %9 = llvm.getelementptr %7[%8] : (!llvm.ptr, i16) -> !llvm.ptr, f32
# |                                                                     ^
# | <stdin>:537:2: note: possible intended match here
# |  %10 = llvm.mlir.constant(1 : i32) : i32
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir:391:12: error: CHECK: expected string not found in input
# |  // CHECK: [[v4:%.*]] = llvm.mlir.constant(1 : index) : i32
# |            ^
# | <stdin>:559:69: note: scanning from here
# |  %7 = llvm.getelementptr %5[%6] : (!llvm.ptr, i64) -> !llvm.ptr, f32
# |                                                                     ^
# | <stdin>:559:69: note: pattern attempts to capture variables: "v4"
# |  %7 = llvm.getelementptr %5[%6] : (!llvm.ptr, i64) -> !llvm.ptr, f32
# |                                                                     ^
# | <stdin>:560:2: note: possible intended match here
# |  %8 = llvm.mlir.constant(1 : i32) : i32
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            507:  %4 = llvm.insertvalue %arg3, %3[3, 0] : !llvm.struct<(ptr, ptr, i32, array<1 x i32>, array<1 x i32>)>  
# |            508:  %5 = llvm.insertvalue %arg4, %4[4, 0] : !llvm.struct<(ptr, ptr, i32, array<1 x i32>, array<1 x i32>)>  
# |            509:  %6 = llvm.mlir.constant(1140850688 : i64) : i64 
# |            510:  %7 = llvm.extractvalue %5[1] : !llvm.struct<(ptr, ptr, i32, array<1 x i32>, array<1 x i32>)>  
# |            511:  %8 = llvm.extractvalue %5[2] : !llvm.struct<(ptr, ptr, i32, array<1 x i32>, array<1 x i32>)>  
# |            512:  %9 = llvm.getelementptr %7[%8] : (!llvm.ptr, i32) -> !llvm.ptr, f32 
# | check:344'0                                                                        {   search range start (exclusive)
# | check:344'1                                                                            error: no match found in search range
# | check:344'2                                                                            pattern attempts to capture variables: "v4"
# |            513:  %10 = llvm.mlir.constant(1 : i32) : i32 
# | check:344'3      ?                                         possible intended match
# |            514:  %11 = llvm.extractvalue %5[3, 0] : !llvm.struct<(ptr, ptr, i32, array<1 x i32>, array<1 x i32>)>  
# |            515:  %12 = llvm.mul %11, %10 : i32 
# |            516:  %13 = llvm.mlir.constant(1275069450 : i32) : i32 
# |            517:  %14 = llvm.trunc %6 : i64 to i32 
# |            518:  %15 = llvm.call @MPI_Send(%9, %12, %13, %arg5, %arg5, %14) : (!llvm.ptr, i32, i32, i32, i32, i32) -> i32 
# |            519:  llvm.return 
# |            520:  } 
# |            521: } 
# |            522:  
# |            523: // ----- 
# |            524: module attributes {dlti.dl_spec = #dlti.dl_spec<index = 16 : i32>, dlti.map = #dlti.map<"MPI:Implementation" = "MPICH">} { 
# |            525:  llvm.func @MPI_Send(!llvm.ptr, i32, i32, i32, i32, i32) -> i32 
# |            526:  llvm.func @test_send_index16(%arg0: !llvm.ptr, %arg1: !llvm.ptr, %arg2: i16, %arg3: i16, %arg4: i16, %arg5: i32) { 
# | check:344'4                                  }                                                                                        search range end (exclusive)
# |            527:  %0 = llvm.mlir.poison : !llvm.struct<(ptr, ptr, i16, array<1 x i16>, array<1 x i16>)> 
# |            528:  %1 = llvm.insertvalue %arg0, %0[0] : !llvm.struct<(ptr, ptr, i16, array<1 x i16>, array<1 x i16>)>  
# |            529:  %2 = llvm.insertvalue %arg1, %1[1] : !llvm.struct<(ptr, ptr, i16, array<1 x i16>, array<1 x i16>)>  
# |            530:  %3 = llvm.insertvalue %arg2, %2[2] : !llvm.struct<(ptr, ptr, i16, array<1 x i16>, array<1 x i16>)>  
# |            531:  %4 = llvm.insertvalue %arg3, %3[3, 0] : !llvm.struct<(ptr, ptr, i16, array<1 x i16>, array<1 x i16>)>  
# |            532:  %5 = llvm.insertvalue %arg4, %4[4, 0] : !llvm.struct<(ptr, ptr, i16, array<1 x i16>, array<1 x i16>)>  
# |            533:  %6 = llvm.mlir.constant(1140850688 : i64) : i64 
# |            534:  %7 = llvm.extractvalue %5[1] : !llvm.struct<(ptr, ptr, i16, array<1 x i16>, array<1 x i16>)>  
# |            535:  %8 = llvm.extractvalue %5[2] : !llvm.struct<(ptr, ptr, i16, array<1 x i16>, array<1 x i16>)>  
# |            536:  %9 = llvm.getelementptr %7[%8] : (!llvm.ptr, i16) -> !llvm.ptr, f32 
# | check:369'0                                                                        {   search range start (exclusive)
# | check:369'1                                                                            error: no match found in search range
# | check:369'2                                                                            pattern attempts to capture variables: "v4"
# |            537:  %10 = llvm.mlir.constant(1 : i32) : i32 
# | check:369'3      ?                                         possible intended match
# |            538:  %11 = llvm.extractvalue %5[3, 0] : !llvm.struct<(ptr, ptr, i16, array<1 x i16>, array<1 x i16>)>  
# |            539:  %12 = llvm.zext %11 : i16 to i32 
# |            540:  %13 = llvm.mul %12, %10 : i32 
# |            541:  %14 = llvm.mlir.constant(1275069450 : i32) : i32 
# |            542:  %15 = llvm.trunc %6 : i64 to i32 
# |            543:  %16 = llvm.call @MPI_Send(%9, %13, %14, %arg5, %arg5, %15) : (!llvm.ptr, i32, i32, i32, i32, i32) -> i32 
# |            544:  llvm.return 
# |            545:  } 
# |            546: } 
# |            547:  
# |            548: // ----- 
# |            549: module attributes {dlti.map = #dlti.map<"MPI:Implementation" = "MPICH">} { 
# |            550:  llvm.func @MPI_Send(!llvm.ptr, i32, i32, i32, i32, i32) -> i32 
# |            551:  llvm.func @test_send_rank_zero(%arg0: !llvm.ptr, %arg1: !llvm.ptr, %arg2: i64, %arg3: i32) { 
# | check:369'4                                    }                                                                search range end (exclusive)
# |            552:  %0 = llvm.mlir.poison : !llvm.struct<(ptr, ptr, i64)> 
# |            553:  %1 = llvm.insertvalue %arg0, %0[0] : !llvm.struct<(ptr, ptr, i64)>  
# |            554:  %2 = llvm.insertvalue %arg1, %1[1] : !llvm.struct<(ptr, ptr, i64)>  
# |            555:  %3 = llvm.insertvalue %arg2, %2[2] : !llvm.struct<(ptr, ptr, i64)>  
# |            556:  %4 = llvm.mlir.constant(1140850688 : i64) : i64 
# |            557:  %5 = llvm.extractvalue %3[1] : !llvm.struct<(ptr, ptr, i64)>  
# |            558:  %6 = llvm.extractvalue %3[2] : !llvm.struct<(ptr, ptr, i64)>  
# |            559:  %7 = llvm.getelementptr %5[%6] : (!llvm.ptr, i64) -> !llvm.ptr, f32 
# | check:391'0                                                                        {   search range start (exclusive)
# | check:391'1                                                                            error: no match found in search range
# | check:391'2                                                                            pattern attempts to capture variables: "v4"
# |            560:  %8 = llvm.mlir.constant(1 : i32) : i32 
# | check:391'3      ?                                        possible intended match
# |            561:  %9 = llvm.mlir.constant(1275069450 : i32) : i32 
# |            562:  %10 = llvm.trunc %4 : i64 to i32 
# |            563:  %11 = llvm.call @MPI_Send(%7, %8, %9, %arg3, %arg3, %10) : (!llvm.ptr, i32, i32, i32, i32, i32) -> i32 
# |            564:  llvm.return 
# |            565:  } 
# |            566: } 
# |            567:  
# | check:391'4      } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# 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/218607


More information about the Mlir-commits mailing list