Skip to content

[mlir][linalg] Simplify runtime op verification test case #141454

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

matthias-springer
Copy link
Member

Simplify one of the test cases to make it easier to understand what is being verified.

@llvmbot
Copy link
Member

llvmbot commented May 26, 2025

@llvm/pr-subscribers-mlir

Author: Matthias Springer (matthias-springer)

Changes

Simplify one of the test cases to make it easier to understand what is being verified.


Full diff: https://github.com/llvm/llvm-project/pull/141454.diff

1 Files Affected:

  • (modified) mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir (+4-7)
diff --git a/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir b/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
index 5a1bcc7d893bc..dc56a3c52baad 100644
--- a/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
+++ b/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
@@ -109,15 +109,12 @@ func.func @main() {
 #identity1D = affine_map<(d0) -> (d0)>
 
 func.func @simple_add(%arg0: tensor<?xf32>, %arg1: tensor<?xf32>) -> (tensor<?xf32>) {
-    %c0 = arith.constant 0 : index
-    %dim = tensor.dim %arg0, %c0 : tensor<?xf32>
-    %result = tensor.empty(%dim) : tensor<?xf32> 
     %0 = linalg.generic {
-      indexing_maps = [#identity1D, #identity1D, #identity1D],
+      indexing_maps = [#identity1D, #identity1D],
       iterator_types = ["parallel"]
-    } ins(%arg0, %arg1 : tensor<?xf32>, tensor<?xf32>)
-      outs(%result : tensor<?xf32>) {
-      ^bb0(%gen_arg1: f32, %gen_arg2: f32, %out: f32) :
+    } ins(%arg0 : tensor<?xf32>)
+      outs(%arg1 : tensor<?xf32>) {
+      ^bb0(%gen_arg1: f32, %gen_arg2: f32) :
         %tmp1 = arith.addf %gen_arg1, %gen_arg2 : f32
         linalg.yield %tmp1 : f32
     } -> tensor<?xf32>

@llvmbot
Copy link
Member

llvmbot commented May 26, 2025

@llvm/pr-subscribers-mlir-linalg

Author: Matthias Springer (matthias-springer)

Changes

Simplify one of the test cases to make it easier to understand what is being verified.


Full diff: https://github.com/llvm/llvm-project/pull/141454.diff

1 Files Affected:

  • (modified) mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir (+4-7)
diff --git a/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir b/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
index 5a1bcc7d893bc..dc56a3c52baad 100644
--- a/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
+++ b/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
@@ -109,15 +109,12 @@ func.func @main() {
 #identity1D = affine_map<(d0) -> (d0)>
 
 func.func @simple_add(%arg0: tensor<?xf32>, %arg1: tensor<?xf32>) -> (tensor<?xf32>) {
-    %c0 = arith.constant 0 : index
-    %dim = tensor.dim %arg0, %c0 : tensor<?xf32>
-    %result = tensor.empty(%dim) : tensor<?xf32> 
     %0 = linalg.generic {
-      indexing_maps = [#identity1D, #identity1D, #identity1D],
+      indexing_maps = [#identity1D, #identity1D],
       iterator_types = ["parallel"]
-    } ins(%arg0, %arg1 : tensor<?xf32>, tensor<?xf32>)
-      outs(%result : tensor<?xf32>) {
-      ^bb0(%gen_arg1: f32, %gen_arg2: f32, %out: f32) :
+    } ins(%arg0 : tensor<?xf32>)
+      outs(%arg1 : tensor<?xf32>) {
+      ^bb0(%gen_arg1: f32, %gen_arg2: f32) :
         %tmp1 = arith.addf %gen_arg1, %gen_arg2 : f32
         linalg.yield %tmp1 : f32
     } -> tensor<?xf32>

@matthias-springer matthias-springer merged commit 64f040b into main May 26, 2025
14 checks passed
@matthias-springer matthias-springer deleted the users/matthias-springer/simplify_test_linalg branch May 26, 2025 05:43
@llvm-ci
Copy link
Collaborator

llvm-ci commented May 26, 2025

LLVM Buildbot has detected a new failure on builder mlir-nvidia-gcc7 running on mlir-nvidia while building mlir at step 7 "test-build-check-mlir-build-only-check-mlir".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/116/builds/13321

Here is the relevant piece of the build log for the reference
Step 7 (test-build-check-mlir-build-only-check-mlir) failure: test (failure)
******************** TEST 'MLIR :: Integration/Dialect/Linalg/CPU/runtime-verification.mlir' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/mlir-opt /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir -generate-runtime-verification  -one-shot-bufferize="bufferize-function-boundaries"  -buffer-deallocation-pipeline  -convert-linalg-to-loops  -expand-strided-metadata  -lower-affine  -convert-scf-to-cf  -test-cf-assert  -convert-index-to-llvm  -finalize-memref-to-llvm  -convert-func-to-llvm  -convert-arith-to-llvm  -convert-cf-to-llvm  -reconcile-unrealized-casts |  /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/mlir-runner -e main -entry-point-result=void      -shared-libs=/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/lib/libmlir_runner_utils.so      -shared-libs=/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/lib/libmlir_c_runner_utils.so 2>&1 |  /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/FileCheck /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
# executed command: /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/mlir-opt /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir -generate-runtime-verification -one-shot-bufferize=bufferize-function-boundaries -buffer-deallocation-pipeline -convert-linalg-to-loops -expand-strided-metadata -lower-affine -convert-scf-to-cf -test-cf-assert -convert-index-to-llvm -finalize-memref-to-llvm -convert-func-to-llvm -convert-arith-to-llvm -convert-cf-to-llvm -reconcile-unrealized-casts
# executed command: /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/mlir-runner -e main -entry-point-result=void -shared-libs=/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/lib/libmlir_runner_utils.so -shared-libs=/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/lib/libmlir_c_runner_utils.so
# note: command had no output on stdout or stderr
# error: command failed with exit status: 1
# executed command: /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/FileCheck /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
# .---command stderr------------
# | /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir:29:12: error: CHECK: expected string not found in input
# |  // CHECK: ERROR: Runtime op verification failed
# |            ^
# | <stdin>:1:1: note: scanning from here
# | loc("<stdin>":1223:11): error: Dialect `bufferization' not found for custom op 'bufferization.clone' 
# | ^
# | <stdin>:1:63: note: possible intended match here
# | loc("<stdin>":1223:11): error: Dialect `bufferization' not found for custom op 'bufferization.clone' 
# |                                                               ^
# | 
# | Input file: <stdin>
# | Check file: /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             1: loc("<stdin>":1223:11): error: Dialect `bufferization' not found for custom op 'bufferization.clone'  
# | check:29'0     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | check:29'1                                                                   ?                                        possible intended match
# |             2: could not parse the input IR 
# | check:29'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

********************


matthias-springer added a commit that referenced this pull request May 26, 2025
@llvm-ci
Copy link
Collaborator

llvm-ci commented May 26, 2025

LLVM Buildbot has detected a new failure on builder mlir-nvidia running on mlir-nvidia while building mlir at step 7 "test-build-check-mlir-build-only-check-mlir".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/138/builds/13672

Here is the relevant piece of the build log for the reference
Step 7 (test-build-check-mlir-build-only-check-mlir) failure: test (failure)
******************** TEST 'MLIR :: Integration/Dialect/Linalg/CPU/runtime-verification.mlir' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/bin/mlir-opt /vol/worker/mlir-nvidia/mlir-nvidia/llvm.src/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir -generate-runtime-verification  -one-shot-bufferize="bufferize-function-boundaries"  -buffer-deallocation-pipeline  -convert-linalg-to-loops  -expand-strided-metadata  -lower-affine  -convert-scf-to-cf  -test-cf-assert  -convert-index-to-llvm  -finalize-memref-to-llvm  -convert-func-to-llvm  -convert-arith-to-llvm  -convert-cf-to-llvm  -reconcile-unrealized-casts |  /vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/bin/mlir-runner -e main -entry-point-result=void      -shared-libs=/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/lib/libmlir_runner_utils.so      -shared-libs=/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/lib/libmlir_c_runner_utils.so 2>&1 |  /vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/bin/FileCheck /vol/worker/mlir-nvidia/mlir-nvidia/llvm.src/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
# executed command: /vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/bin/mlir-opt /vol/worker/mlir-nvidia/mlir-nvidia/llvm.src/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir -generate-runtime-verification -one-shot-bufferize=bufferize-function-boundaries -buffer-deallocation-pipeline -convert-linalg-to-loops -expand-strided-metadata -lower-affine -convert-scf-to-cf -test-cf-assert -convert-index-to-llvm -finalize-memref-to-llvm -convert-func-to-llvm -convert-arith-to-llvm -convert-cf-to-llvm -reconcile-unrealized-casts
# executed command: /vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/bin/mlir-runner -e main -entry-point-result=void -shared-libs=/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/lib/libmlir_runner_utils.so -shared-libs=/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/lib/libmlir_c_runner_utils.so
# note: command had no output on stdout or stderr
# error: command failed with exit status: 1
# executed command: /vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/bin/FileCheck /vol/worker/mlir-nvidia/mlir-nvidia/llvm.src/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
# .---command stderr------------
# | /vol/worker/mlir-nvidia/mlir-nvidia/llvm.src/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir:29:12: error: CHECK: expected string not found in input
# |  // CHECK: ERROR: Runtime op verification failed
# |            ^
# | <stdin>:1:1: note: scanning from here
# | loc("<stdin>":1223:11): error: Dialect `bufferization' not found for custom op 'bufferization.clone' 
# | ^
# | <stdin>:1:63: note: possible intended match here
# | loc("<stdin>":1223:11): error: Dialect `bufferization' not found for custom op 'bufferization.clone' 
# |                                                               ^
# | 
# | Input file: <stdin>
# | Check file: /vol/worker/mlir-nvidia/mlir-nvidia/llvm.src/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             1: loc("<stdin>":1223:11): error: Dialect `bufferization' not found for custom op 'bufferization.clone'  
# | check:29'0     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | check:29'1                                                                   ?                                        possible intended match
# |             2: could not parse the input IR 
# | check:29'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

********************


matthias-springer added a commit that referenced this pull request May 26, 2025
@llvm-ci
Copy link
Collaborator

llvm-ci commented May 26, 2025

LLVM Buildbot has detected a new failure on builder clang-aarch64-sve-vla-2stage running on linaro-g3-02 while building mlir at step 12 "ninja check 2".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/41/builds/6908

Here is the relevant piece of the build log for the reference
Step 12 (ninja check 2) failure: stage 2 checked (failure)
******************** TEST 'MLIR :: Integration/Dialect/Linalg/CPU/runtime-verification.mlir' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/mlir-opt /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir -generate-runtime-verification  -one-shot-bufferize="bufferize-function-boundaries"  -buffer-deallocation-pipeline  -convert-linalg-to-loops  -expand-strided-metadata  -lower-affine  -convert-scf-to-cf  -test-cf-assert  -convert-index-to-llvm  -finalize-memref-to-llvm  -convert-func-to-llvm  -convert-arith-to-llvm  -convert-cf-to-llvm  -reconcile-unrealized-casts |  /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/mlir-runner -e main -entry-point-result=void      -shared-libs=/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/lib/libmlir_runner_utils.so      -shared-libs=/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/lib/libmlir_c_runner_utils.so 2>&1 |  /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/FileCheck /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
# executed command: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/mlir-opt /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir -generate-runtime-verification -one-shot-bufferize=bufferize-function-boundaries -buffer-deallocation-pipeline -convert-linalg-to-loops -expand-strided-metadata -lower-affine -convert-scf-to-cf -test-cf-assert -convert-index-to-llvm -finalize-memref-to-llvm -convert-func-to-llvm -convert-arith-to-llvm -convert-cf-to-llvm -reconcile-unrealized-casts
# executed command: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/mlir-runner -e main -entry-point-result=void -shared-libs=/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/lib/libmlir_runner_utils.so -shared-libs=/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/lib/libmlir_c_runner_utils.so
# note: command had no output on stdout or stderr
# error: command failed with exit status: 1
# executed command: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/FileCheck /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
# .---command stderr------------
# | /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir:29:12: error: CHECK: expected string not found in input
# |  // CHECK: ERROR: Runtime op verification failed
# |            ^
# | <stdin>:1:1: note: scanning from here
# | loc("<stdin>":1223:11): error: Dialect `bufferization' not found for custom op 'bufferization.clone' 
# | ^
# | <stdin>:1:63: note: possible intended match here
# | loc("<stdin>":1223:11): error: Dialect `bufferization' not found for custom op 'bufferization.clone' 
# |                                                               ^
# | 
# | Input file: <stdin>
# | Check file: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             1: loc("<stdin>":1223:11): error: Dialect `bufferization' not found for custom op 'bufferization.clone'  
# | check:29'0     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | check:29'1                                                                   ?                                        possible intended match
# |             2: could not parse the input IR 
# | check:29'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

********************


sivan-shani pushed a commit to sivan-shani/llvm-project that referenced this pull request Jun 3, 2025
Simplify one of the test cases to make it easier to understand what is
being verified.
sivan-shani pushed a commit to sivan-shani/llvm-project that referenced this pull request Jun 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants