@@ -99,7 +99,7 @@ module attributes {} {
9999// TASKFLOW: module {
100100// TASKFLOW-NEXT: func.func @_Z6kernelPiS_(%arg0: memref<?xi32>, %arg1: memref<?xi32>) attributes {llvm.linkage = #llvm.linkage<external>} {
101101// TASKFLOW-NEXT: %c0_i32 = arith.constant 0 : i32
102- // TASKFLOW-NEXT: %write_outputs = taskflow.task @Task_0 read_memrefs(%arg0, %arg1 : memref<?xi32>, memref<?xi32>) write_memrefs(%arg1 : memref<?xi32>) value_inputs(%c0_i32 : i32) [original_read_memrefs(%arg0, %arg1), original_write_memrefs(%arg1)] : (memref<?xi32>, memref<?xi32>, memref<?xi32>, i32) -> (memref<?xi32>) {
102+ // TASKFLOW-NEXT: %write_outputs = taskflow.task @Task_0 read_memrefs(%arg0, %arg1 : memref<?xi32>, memref<?xi32>) write_memrefs(%arg1 : memref<?xi32>) value_inputs(%c0_i32 : i32) [original_read_memrefs(%arg0, %arg1 : memref<?xi32>, memref<?xi32> ), original_write_memrefs(%arg1 : memref<?xi32> )] : (memref<?xi32>, memref<?xi32>, memref<?xi32>, i32) -> (memref<?xi32>) {
103103// TASKFLOW-NEXT: ^bb0(%arg2: memref<?xi32>, %arg3: memref<?xi32>, %arg4: memref<?xi32>, %arg5: i32):
104104// TASKFLOW-NEXT: affine.for %arg6 = 0 to 32 {
105105// TASKFLOW-NEXT: %0 = affine.load %arg2[%arg6] : memref<?xi32>
@@ -123,7 +123,7 @@ module attributes {} {
123123// HYPERBLOCK: module {
124124// HYPERBLOCK-NEXT: func.func @_Z6kernelPiS_(%arg0: memref<?xi32>, %arg1: memref<?xi32>) attributes {llvm.linkage = #llvm.linkage<external>} {
125125// HYPERBLOCK-NEXT: %c0_i32 = arith.constant 0 : i32
126- // HYPERBLOCK-NEXT: %write_outputs = taskflow.task @Task_0 read_memrefs(%arg0, %arg1 : memref<?xi32>, memref<?xi32>) write_memrefs(%arg1 : memref<?xi32>) value_inputs(%c0_i32 : i32) [original_read_memrefs(%arg0, %arg1), original_write_memrefs(%arg1)] : (memref<?xi32>, memref<?xi32>, memref<?xi32>, i32) -> (memref<?xi32>) {
126+ // HYPERBLOCK-NEXT: %write_outputs = taskflow.task @Task_0 read_memrefs(%arg0, %arg1 : memref<?xi32>, memref<?xi32>) write_memrefs(%arg1 : memref<?xi32>) value_inputs(%c0_i32 : i32) [original_read_memrefs(%arg0, %arg1 : memref<?xi32>, memref<?xi32> ), original_write_memrefs(%arg1 : memref<?xi32> )] : (memref<?xi32>, memref<?xi32>, memref<?xi32>, i32) -> (memref<?xi32>) {
127127// HYPERBLOCK-NEXT: ^bb0(%arg2: memref<?xi32>, %arg3: memref<?xi32>, %arg4: memref<?xi32>, %arg5: i32):
128128// HYPERBLOCK-NEXT: %0 = taskflow.counter attributes {lower_bound = 0 : index, step = 1 : index, upper_bound = 32 : index} : index
129129// HYPERBLOCK-NEXT: "taskflow.hyperblock"(%0) <{operandSegmentSizes = array<i32: 1, 0>}> ({
@@ -150,7 +150,7 @@ module attributes {} {
150150// KERNEL: module {
151151// KERNEL-NEXT: func.func @_Z6kernelPiS_(%arg0: memref<?xi32>, %arg1: memref<?xi32>) attributes {llvm.linkage = #llvm.linkage<external>} {
152152// KERNEL-NEXT: %c0_i32 = arith.constant 0 : i32
153- // KERNEL-NEXT: %write_outputs = taskflow.task @Task_0 read_memrefs(%arg0, %arg1 : memref<?xi32>, memref<?xi32>) write_memrefs(%arg1 : memref<?xi32>) value_inputs(%c0_i32 : i32) [original_read_memrefs(%arg0, %arg1), original_write_memrefs(%arg1)] : (memref<?xi32>, memref<?xi32>, memref<?xi32>, i32) -> (memref<?xi32>) {
153+ // KERNEL-NEXT: %write_outputs = taskflow.task @Task_0 read_memrefs(%arg0, %arg1 : memref<?xi32>, memref<?xi32>) write_memrefs(%arg1 : memref<?xi32>) value_inputs(%c0_i32 : i32) [original_read_memrefs(%arg0, %arg1 : memref<?xi32>, memref<?xi32> ), original_write_memrefs(%arg1 : memref<?xi32> )] : (memref<?xi32>, memref<?xi32>, memref<?xi32>, i32) -> (memref<?xi32>) {
154154// KERNEL-NEXT: ^bb0(%arg2: memref<?xi32>, %arg3: memref<?xi32>, %arg4: memref<?xi32>, %arg5: i32):
155155// KERNEL-NEXT: %0 = taskflow.counter attributes {counter_id = 0 : i32, counter_type = "leaf", lower_bound = 0 : index, step = 1 : index, upper_bound = 32 : index} : index
156156// KERNEL-NEXT: neura.kernel inputs(%arg2, %arg5, %arg4 : memref<?xi32>, i32, memref<?xi32>) {
@@ -178,7 +178,7 @@ module attributes {} {
178178// NEURA: module {
179179// NEURA-NEXT: func.func @_Z6kernelPiS_(%arg0: memref<?xi32>, %arg1: memref<?xi32>) attributes {llvm.linkage = #llvm.linkage<external>} {
180180// NEURA-NEXT: %c0_i32 = arith.constant 0 : i32
181- // NEURA-NEXT: %write_outputs = taskflow.task @Task_0 read_memrefs(%arg0, %arg1 : memref<?xi32>, memref<?xi32>) write_memrefs(%arg1 : memref<?xi32>) value_inputs(%c0_i32 : i32) [original_read_memrefs(%arg0, %arg1), original_write_memrefs(%arg1)] : (memref<?xi32>, memref<?xi32>, memref<?xi32>, i32) -> (memref<?xi32>) {
181+ // NEURA-NEXT: %write_outputs = taskflow.task @Task_0 read_memrefs(%arg0, %arg1 : memref<?xi32>, memref<?xi32>) write_memrefs(%arg1 : memref<?xi32>) value_inputs(%c0_i32 : i32) [original_read_memrefs(%arg0, %arg1 : memref<?xi32>, memref<?xi32> ), original_write_memrefs(%arg1 : memref<?xi32> )] : (memref<?xi32>, memref<?xi32>, memref<?xi32>, i32) -> (memref<?xi32>) {
182182// NEURA-NEXT: ^bb0(%arg2: memref<?xi32>, %arg3: memref<?xi32>, %arg4: memref<?xi32>, %arg5: i32):
183183// NEURA-NEXT: %0 = taskflow.counter attributes {counter_id = 0 : i32, counter_type = "leaf", lower_bound = 0 : index, step = 1 : index, upper_bound = 32 : index} : index
184184// NEURA-NEXT: neura.kernel inputs(%arg2, %arg5, %arg4 : memref<?xi32>, i32, memref<?xi32>) attributes {accelerator = "neura"} {
@@ -209,7 +209,7 @@ module attributes {} {
209209// DATAFLOW: module {
210210// DATAFLOW-NEXT: func.func @_Z6kernelPiS_(%arg0: memref<?xi32>, %arg1: memref<?xi32>) attributes {llvm.linkage = #llvm.linkage<external>} {
211211// DATAFLOW-NEXT: %c0_i32 = arith.constant 0 : i32
212- // DATAFLOW-NEXT: %write_outputs = taskflow.task @Task_0 read_memrefs(%arg0, %arg1 : memref<?xi32>, memref<?xi32>) write_memrefs(%arg1 : memref<?xi32>) value_inputs(%c0_i32 : i32) [original_read_memrefs(%arg0, %arg1), original_write_memrefs(%arg1)] : (memref<?xi32>, memref<?xi32>, memref<?xi32>, i32) -> (memref<?xi32>) {
212+ // DATAFLOW-NEXT: %write_outputs = taskflow.task @Task_0 read_memrefs(%arg0, %arg1 : memref<?xi32>, memref<?xi32>) write_memrefs(%arg1 : memref<?xi32>) value_inputs(%c0_i32 : i32) [original_read_memrefs(%arg0, %arg1 : memref<?xi32>, memref<?xi32> ), original_write_memrefs(%arg1 : memref<?xi32> )] : (memref<?xi32>, memref<?xi32>, memref<?xi32>, i32) -> (memref<?xi32>) {
213213// DATAFLOW-NEXT: ^bb0(%arg2: memref<?xi32>, %arg3: memref<?xi32>, %arg4: memref<?xi32>, %arg5: i32):
214214// DATAFLOW-NEXT: %0 = taskflow.counter attributes {counter_id = 0 : i32, counter_type = "leaf", lower_bound = 0 : index, step = 1 : index, upper_bound = 32 : index} : index
215215// DATAFLOW-NEXT: neura.kernel inputs(%arg2, %arg5, %arg4 : memref<?xi32>, i32, memref<?xi32>) attributes {accelerator = "neura", dataflow_mode = "predicate"} {
@@ -237,7 +237,7 @@ module attributes {} {
237237// MAPPED: module {
238238// MAPPED-NEXT: func.func @_Z6kernelPiS_(%arg0: memref<?xi32>, %arg1: memref<?xi32>) attributes {llvm.linkage = #llvm.linkage<external>} {
239239// MAPPED-NEXT: %c0_i32 = arith.constant 0 : i32
240- // MAPPED-NEXT: %write_outputs = taskflow.task @Task_0 read_memrefs(%arg0, %arg1 : memref<?xi32>, memref<?xi32>) write_memrefs(%arg1 : memref<?xi32>) value_inputs(%c0_i32 : i32) [original_read_memrefs(%arg0, %arg1), original_write_memrefs(%arg1)] : (memref<?xi32>, memref<?xi32>, memref<?xi32>, i32) -> (memref<?xi32>) {
240+ // MAPPED-NEXT: %write_outputs = taskflow.task @Task_0 read_memrefs(%arg0, %arg1 : memref<?xi32>, memref<?xi32>) write_memrefs(%arg1 : memref<?xi32>) value_inputs(%c0_i32 : i32) [original_read_memrefs(%arg0, %arg1 : memref<?xi32>, memref<?xi32> ), original_write_memrefs(%arg1 : memref<?xi32> )] : (memref<?xi32>, memref<?xi32>, memref<?xi32>, i32) -> (memref<?xi32>) {
241241// MAPPED-NEXT: ^bb0(%arg2: memref<?xi32>, %arg3: memref<?xi32>, %arg4: memref<?xi32>, %arg5: i32):
242242// MAPPED-NEXT: %0 = taskflow.counter attributes {counter_id = 0 : i32, counter_type = "leaf", lower_bound = 0 : index, step = 1 : index, upper_bound = 32 : index} : index
243243// MAPPED-NEXT: neura.kernel inputs(%arg2, %arg5, %arg4 : memref<?xi32>, i32, memref<?xi32>) attributes {accelerator = "neura", dataflow_mode = "predicate", mapping_info = {compiled_ii = 2 : i32, mapping_mode = "spatial-temporal", mapping_strategy = "heuristic", rec_mii = 1 : i32, res_mii = 1 : i32, x_tiles = 4 : i32, y_tiles = 4 : i32}} {
0 commit comments