From f53e923d747847ce5ad87c65aa51caf24d76cb12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20R=C3=B6sti?= Date: Fri, 16 Aug 2024 09:17:36 -0600 Subject: [PATCH] Add documentation and fix BD Chain syntax tests (#1698) --- .../assign-runtime-sequence-bd-ids/bad-1.mlir | 2 ++ .../assign-runtime-sequence-bd-ids/bad-2.mlir | 3 +++ .../assign-runtime-sequence-bd-ids/bad-3.mlir | 3 +++ .../assign-runtime-sequence-bd-ids/good-1.mlir | 8 +++++--- .../assign-runtime-sequence-bd-ids/good-2.mlir | 3 +++ .../assign-runtime-sequence-bd-ids/good-3.mlir | 3 +++ .../assign-runtime-sequence-bd-ids/good-4.mlir | 2 ++ .../dma-tasks-to-npu/bad-1.mlir | 3 +++ .../dma-tasks-to-npu/bad-2.mlir | 4 ++++ .../dma-tasks-to-npu/bad-3.mlir | 3 +++ .../dma-tasks-to-npu/bad-4.mlir | 3 +++ .../dma-tasks-to-npu/bad-5.mlir | 3 +++ .../dma-tasks-to-npu/bad-6.mlir | 2 ++ .../dma-tasks-to-npu/bad-7.mlir | 3 +++ .../dma-tasks-to-npu/bad-8.mlir | 3 +++ .../dma-tasks-to-npu/bad-9.mlir | 2 ++ .../dma-tasks-to-npu/good-1.mlir | 4 ++++ .../dma-tasks-to-npu/good-2.mlir | 3 +++ .../dma-tasks-to-npu/good-3.mlir | 3 +++ .../materialize-bd-chains/bad-1.mlir | 3 +++ .../materialize-bd-chains/bad-2.mlir | 3 +++ .../materialize-bd-chains/bad-3.mlir | 3 +++ .../materialize-bd-chains/good-1.mlir | 10 +++++++--- .../materialize-bd-chains/good-2.mlir | 6 +++--- 24 files changed, 76 insertions(+), 9 deletions(-) diff --git a/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/bad-1.mlir b/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/bad-1.mlir index 5915631cdb..760b405b48 100644 --- a/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/bad-1.mlir +++ b/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/bad-1.mlir @@ -9,6 +9,8 @@ // // RUN: aie-opt --verify-diagnostics --aie-assign-runtime-sequence-bd-ids %s +// This test ensures that the proper error is emitted if a user tries to reference not-yet-lowered BD chains in aiex.dma_await_task. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/bad-2.mlir b/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/bad-2.mlir index 856b7862fa..39493a12af 100644 --- a/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/bad-2.mlir +++ b/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/bad-2.mlir @@ -9,6 +9,9 @@ // // RUN: aie-opt --verify-diagnostics --aie-assign-runtime-sequence-bd-ids %s +// This test ensures that the proper error is emitted if a user tries to use more buffer descriptors than +// are availalbe in the current device. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/bad-3.mlir b/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/bad-3.mlir index ac0cb1c853..55b7087f08 100644 --- a/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/bad-3.mlir +++ b/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/bad-3.mlir @@ -9,6 +9,9 @@ // // RUN: aie-opt --verify-diagnostics --aie-assign-runtime-sequence-bd-ids %s +// This test ensures that the proper error is issued if the user tries to reuse buffer descriptor IDs +// withou explicit ops `aiex.dma_free_task` or `aiex.dma_await_task` between them. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/good-1.mlir b/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/good-1.mlir index 2a7fab7d25..a88c9d23bb 100644 --- a/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/good-1.mlir +++ b/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/good-1.mlir @@ -9,6 +9,8 @@ // // RUN: aie-opt --aie-materialize-bd-chains --aie-assign-runtime-sequence-bd-ids %s | FileCheck %s +// This tests ensures that each `aie.dma_bd` operation below gets assigned a unique buffer descriptor ID. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) @@ -28,7 +30,7 @@ module { aiex.runtime_sequence(%arg0: memref<8xi16>, %arg1: memref<12xi16>, %arg2: memref<8xi16>) { %t1 = aiex.dma_start_bd_chain @simple_chain(%arg0, %arg1, %arg2) : (memref<8xi16>, memref<12xi16>, memref<8xi16>) on (%tile_0_0, MM2S, 0) - // CHECK: %[[task1:[0-9]+]] = aiex.dma_configure_task(%tile_0_0, MM2S, 0) { + // CHECK: %[[task1:.+]] = aiex.dma_configure_task(%tile_0_0, MM2S, 0) { // CHECK: aie.dma_bd(%arg0 : memref<8xi16>, 0, 8, [, , , ]) {bd_id = 0 : i32} // CHECK: aie.next_bd ^bb1 // CHECK: ^bb1: @@ -41,7 +43,7 @@ module { // CHECK: aiex.dma_start_task(%[[task1]]) %t2 = aiex.dma_start_bd_chain @simple_chain(%arg2, %arg1, %arg0) : (memref<8xi16>, memref<12xi16>, memref<8xi16>) on (%tile_0_0, MM2S, 1) - // CHECK: %[[task2:[0-9]+]] = aiex.dma_configure_task(%tile_0_0, MM2S, 1) { + // CHECK: %[[task2:.+]] = aiex.dma_configure_task(%tile_0_0, MM2S, 1) { // CHECK: aie.dma_bd(%arg2 : memref<8xi16>, 0, 8, [, , , ]) {bd_id = 3 : i32} // CHECK: aie.next_bd ^bb1 // CHECK: ^bb1: @@ -54,7 +56,7 @@ module { // CHECK: aiex.dma_start_task(%[[task2]]) %t3 = aiex.dma_start_bd_chain @simple_chain(%arg0, %arg1, %arg0) : (memref<8xi16>, memref<12xi16>, memref<8xi16>) on (%tile_0_0, S2MM, 0) - // CHECK: %[[task3:[0-9]+]] = aiex.dma_configure_task(%tile_0_0, S2MM, 0) { + // CHECK: %[[task3:.+]] = aiex.dma_configure_task(%tile_0_0, S2MM, 0) { // CHECK: aie.dma_bd(%arg0 : memref<8xi16>, 0, 8, [, , , ]) {bd_id = 6 : i32} // CHECK: aie.next_bd ^bb1 // CHECK: ^bb1: diff --git a/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/good-2.mlir b/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/good-2.mlir index aa56644979..7bfcb44fad 100644 --- a/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/good-2.mlir +++ b/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/good-2.mlir @@ -9,6 +9,9 @@ // // RUN: aie-opt --aie-assign-runtime-sequence-bd-ids %s | FileCheck %s +// This tests ensures that buffer descriptor IDs assigned to `aie.dma_bd` ops are reused after +// calls to aiex.dma_free_task and aiex.dma_await_task, but are unique otherwise. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/good-3.mlir b/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/good-3.mlir index 8281973cd4..f7fac613a9 100644 --- a/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/good-3.mlir +++ b/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/good-3.mlir @@ -9,6 +9,9 @@ // // RUN: aie-opt --verify-diagnostics --aie-assign-runtime-sequence-bd-ids %s +// This test ensures that automatic buffer descriptor allocation does not collide +// when there are user-specified hard-coded BD IDs in the input. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/good-4.mlir b/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/good-4.mlir index 9a5b65b898..742076917f 100644 --- a/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/good-4.mlir +++ b/test/bd-chains-and-dma-tasks/assign-runtime-sequence-bd-ids/good-4.mlir @@ -9,6 +9,8 @@ // // RUN: aie-opt --aie-assign-runtime-sequence-bd-ids %s | FileCheck %s +// This test ensures that all available 16 buffer descriptors are used. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-1.mlir b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-1.mlir index d7d57cf076..719cfca0be 100644 --- a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-1.mlir +++ b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-1.mlir @@ -9,6 +9,9 @@ // // RUN: aie-opt --verify-diagnostics --aie-dma-tasks-to-npu %s +// This test ensures that the proper error is emitted if the transfer length specified in a aie.dma_bd +// op's dimensions and its overall transfer length do not match up. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-2.mlir b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-2.mlir index ebde77a3b8..cb6d469e35 100644 --- a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-2.mlir +++ b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-2.mlir @@ -9,6 +9,10 @@ // // RUN: aie-opt --verify-diagnostics --aie-dma-tasks-to-npu %s +// This test ensures that the proper error is emitted if the user attempts to sepcify more than +// the architecturally possible number of data layout transformation dimensions in a `aie.dma_bd` +// operation inside the runtime sequence. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-3.mlir b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-3.mlir index 920699f3b9..164550548d 100644 --- a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-3.mlir +++ b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-3.mlir @@ -9,6 +9,9 @@ // // RUN: aie-opt --verify-diagnostics --aie-dma-tasks-to-npu %s +// This test ensures that the correct error is emitted if an illegal data layout transformation is specified +// in a `aie.dma_bd` operation inside the runtime sequence. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-4.mlir b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-4.mlir index cdd6cc05a9..7f2b6426e9 100644 --- a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-4.mlir +++ b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-4.mlir @@ -9,6 +9,9 @@ // // RUN: aie-opt --verify-diagnostics --aie-dma-tasks-to-npu %s +// This test ensures that the correct error is emitted if an illegal data layout transformation is specified +// in a `aie.dma_bd` operation inside the runtime sequence. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-5.mlir b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-5.mlir index 9d418370aa..679fb46b5e 100644 --- a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-5.mlir +++ b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-5.mlir @@ -9,6 +9,9 @@ // // RUN: aie-opt --verify-diagnostics --aie-dma-tasks-to-npu %s +// This test ensures that the correct error is emitted if the user tries to transfer +// fewer bytes than the architecture allows in a `aie.dma_bd` operation inside the runtime sequence. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-6.mlir b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-6.mlir index 78bb240f83..092886b8e0 100644 --- a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-6.mlir +++ b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-6.mlir @@ -9,6 +9,8 @@ // // RUN: aie-opt --verify-diagnostics --aie-dma-tasks-to-npu %s +// This test ensures that the proper error is emitted if the user specifies an illegal offset in a dma_bd operation inside the runtime sequence. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-7.mlir b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-7.mlir index e71517b085..dfef3c06dd 100644 --- a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-7.mlir +++ b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-7.mlir @@ -9,6 +9,9 @@ // // RUN: aie-opt --verify-diagnostics --aie-dma-tasks-to-npu %s +// This test ensures the proper error message is emitted if the user tries to invoke the +// `--aie-dma-tasks-to-npu` pass without first lowering BD IDs for all `aie.dma_bd` ops. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-8.mlir b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-8.mlir index d1153989b9..71675c0db5 100644 --- a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-8.mlir +++ b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-8.mlir @@ -9,6 +9,9 @@ // // RUN: aie-opt --verify-diagnostics --aie-dma-tasks-to-npu %s +// This test ensures the proper error is emitted if a single block inside a `aiex.dma_configure_task` op +// contains multiple `aie.dma_bd` operations -- only one such operation is allowed per basic block. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-9.mlir b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-9.mlir index 9a081ca8ff..9d31daeec6 100644 --- a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-9.mlir +++ b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/bad-9.mlir @@ -9,6 +9,8 @@ // // RUN: aie-opt --verify-diagnostics --aie-dma-tasks-to-npu %s +// This test ensures the proper error is emitted if a task with no BDs are issued in the runtime sequence. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/good-1.mlir b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/good-1.mlir index 061ef50d77..6e8cd4a2a1 100644 --- a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/good-1.mlir +++ b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/good-1.mlir @@ -9,6 +9,10 @@ // // RUN: aie-opt --aie-dma-tasks-to-npu %s | FileCheck %s +// This test ensures buffer descriptor configurations, as well as `aiex.dma_start_task`, +// `aiex.dma_await_task` operations, issued from within the runtime sequence, +// are lowered to the correct NPU instruction sequence instructions. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/good-2.mlir b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/good-2.mlir index 110ad624fb..0ab22ad9ff 100644 --- a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/good-2.mlir +++ b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/good-2.mlir @@ -9,6 +9,9 @@ // // RUN: aie-opt --aie-dma-tasks-to-npu %s | FileCheck %s +// This test ensures that buffer descriptor configurations with chaining get +// lowered to the correct NPU instruction sequence instructions. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/good-3.mlir b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/good-3.mlir index 1b9c670720..fb01c0c38b 100644 --- a/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/good-3.mlir +++ b/test/bd-chains-and-dma-tasks/dma-tasks-to-npu/good-3.mlir @@ -9,6 +9,9 @@ // // RUN: aie-opt --aie-dma-tasks-to-npu %s | FileCheck %s +// This test ensures that buffer descriptor configurations with data layout transformations are +// properly lowered to the correct NPU instruction sequence instructions. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/materialize-bd-chains/bad-1.mlir b/test/bd-chains-and-dma-tasks/materialize-bd-chains/bad-1.mlir index 6d94b2d0bd..9a0e64f8cb 100644 --- a/test/bd-chains-and-dma-tasks/materialize-bd-chains/bad-1.mlir +++ b/test/bd-chains-and-dma-tasks/materialize-bd-chains/bad-1.mlir @@ -9,6 +9,9 @@ // // RUN: aie-opt --verify-diagnostics --aie-materialize-bd-chains %s +// This test ensures that the correct error gets emitted when a BD "chain" is not +// actually a proper chain, i.e. some blocks are not connected. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/materialize-bd-chains/bad-2.mlir b/test/bd-chains-and-dma-tasks/materialize-bd-chains/bad-2.mlir index 30f210187f..a4efb4b49c 100644 --- a/test/bd-chains-and-dma-tasks/materialize-bd-chains/bad-2.mlir +++ b/test/bd-chains-and-dma-tasks/materialize-bd-chains/bad-2.mlir @@ -9,6 +9,9 @@ // // RUN: aie-opt --verify-diagnostics --aie-materialize-bd-chains %s +// This test ensures that the correct error is emitted if the types of +// the arguments in a BD chain definition and its usage site mismatch. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/materialize-bd-chains/bad-3.mlir b/test/bd-chains-and-dma-tasks/materialize-bd-chains/bad-3.mlir index f407848fce..051c219c70 100644 --- a/test/bd-chains-and-dma-tasks/materialize-bd-chains/bad-3.mlir +++ b/test/bd-chains-and-dma-tasks/materialize-bd-chains/bad-3.mlir @@ -9,6 +9,9 @@ // // RUN: aie-opt --verify-diagnostics --aie-materialize-bd-chains %s +// This test ensures the proper error gets emitted if the user attempts to +// reference a BD chain that has not been defined. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) diff --git a/test/bd-chains-and-dma-tasks/materialize-bd-chains/good-1.mlir b/test/bd-chains-and-dma-tasks/materialize-bd-chains/good-1.mlir index a12e151a75..8904e1f5a0 100644 --- a/test/bd-chains-and-dma-tasks/materialize-bd-chains/good-1.mlir +++ b/test/bd-chains-and-dma-tasks/materialize-bd-chains/good-1.mlir @@ -9,6 +9,10 @@ // // RUN: aie-opt --aie-materialize-bd-chains %s | FileCheck %s +// This test ensures that a BD chains get lowered to correct `aiex.dma_configure_task` +// operations at their usage sites. We particularly ensure that the input arguments +// are correctly substituted. + module { aie.device(npu1_4col) { %tile_0_0 = aie.tile(0, 0) @@ -28,7 +32,7 @@ module { aiex.runtime_sequence(%arg0: memref<8xi16>, %arg1: memref<12xi16>, %arg2: memref<8xi16>) { %t1 = aiex.dma_start_bd_chain @simple_chain(%arg0, %arg1, %arg2) : (memref<8xi16>, memref<12xi16>, memref<8xi16>) on (%tile_0_0, MM2S, 0) - // CHECK: %[[task1:[0-9]+]] = aiex.dma_configure_task(%tile_0_0, MM2S, 0) { + // CHECK: %[[task1:.+]] = aiex.dma_configure_task(%tile_0_0, MM2S, 0) { // CHECK: aie.dma_bd(%arg0 : memref<8xi16>, 0, 8, [, , , ]) // CHECK: aie.next_bd ^bb1 // CHECK: ^bb1: @@ -41,7 +45,7 @@ module { // CHECK: aiex.dma_start_task(%[[task1]]) %t2 = aiex.dma_start_bd_chain @simple_chain(%arg2, %arg1, %arg0) : (memref<8xi16>, memref<12xi16>, memref<8xi16>) on (%tile_0_0, MM2S, 1) - // CHECK: %[[task2:[0-9]+]] = aiex.dma_configure_task(%tile_0_0, MM2S, 1) { + // CHECK: %[[task2:.+]] = aiex.dma_configure_task(%tile_0_0, MM2S, 1) { // CHECK: aie.dma_bd(%arg2 : memref<8xi16>, 0, 8, [, , , ]) // CHECK: aie.next_bd ^bb1 // CHECK: ^bb1: @@ -54,7 +58,7 @@ module { // CHECK: aiex.dma_start_task(%[[task2]]) %t3 = aiex.dma_start_bd_chain @simple_chain(%arg0, %arg1, %arg0) : (memref<8xi16>, memref<12xi16>, memref<8xi16>) on (%tile_0_0, S2MM, 0) - // CHECK: %[[task3:[0-9]+]] = aiex.dma_configure_task(%tile_0_0, S2MM, 0) { + // CHECK: %[[task3:.+]] = aiex.dma_configure_task(%tile_0_0, S2MM, 0) { // CHECK: aie.dma_bd(%arg0 : memref<8xi16>, 0, 8, [, , , ]) // CHECK: aie.next_bd ^bb1 // CHECK: ^bb1: diff --git a/test/bd-chains-and-dma-tasks/materialize-bd-chains/good-2.mlir b/test/bd-chains-and-dma-tasks/materialize-bd-chains/good-2.mlir index 33145a8920..d7c948c321 100644 --- a/test/bd-chains-and-dma-tasks/materialize-bd-chains/good-2.mlir +++ b/test/bd-chains-and-dma-tasks/materialize-bd-chains/good-2.mlir @@ -40,7 +40,7 @@ module { aiex.runtime_sequence(%buf: memref<8xi16>) { %t1 = aiex.dma_start_bd_chain @simple_chain(%buf, %lock_0, %lock_1, %lock_2) : (memref<8xi16>, index, index, index) on (%tile_0_0, MM2S, 0) - // CHECK: %[[task1:[0-9]+]] = aiex.dma_configure_task(%tile_0_0, MM2S, 0) { + // CHECK: %[[task1:.+]] = aiex.dma_configure_task(%tile_0_0, MM2S, 0) { // CHECK: aie.use_lock(%lock_0, "Acquire", 1) // CHECK: aie.dma_bd(%buf : memref<8xi16>, 0, 8) // CHECK: aie.use_lock(%lock_1, "Release", 1) @@ -59,7 +59,7 @@ module { // CHECK: aiex.dma_start_task(%[[task1]]) %t2 = aiex.dma_start_bd_chain @simple_chain(%buf, %lock_0, %lock_0, %lock_0) : (memref<8xi16>, index, index, index) on (%tile_0_0, MM2S, 1) - // CHECK: %[[task2:[0-9]+]] = aiex.dma_configure_task(%tile_0_0, MM2S, 0) { + // CHECK: %[[task2:.+]] = aiex.dma_configure_task(%tile_0_0, MM2S, 0) { // CHECK: aie.use_lock(%lock_0, "Acquire", 1) // CHECK: aie.dma_bd(%buf : memref<8xi16>, 0, 8) // CHECK: aie.use_lock(%lock_0, "Release", 1) @@ -78,7 +78,7 @@ module { // CHECK: aiex.dma_start_task(%[[task2]]) %t3 = aiex.dma_start_bd_chain @simple_chain(%buf, %lock_2, %lock_1, %lock_0) : (memref<8xi16>, index, index, index) on (%tile_0_0, S2MM, 0) - // CHECK: %[[task3:[0-9]+]] = aiex.dma_configure_task(%tile_0_0, MM2S, 0) { + // CHECK: %[[task3:.+]] = aiex.dma_configure_task(%tile_0_0, MM2S, 0) { // CHECK: aie.use_lock(%lock_2, "Acquire", 1) // CHECK: aie.dma_bd(%buf : memref<8xi16>, 0, 8) // CHECK: aie.use_lock(%lock_1, "Release", 1)