From 4f19dce8999d59603c89e2e2b11635bc1bc644ac Mon Sep 17 00:00:00 2001 From: youben11 Date: Thu, 17 Feb 2022 09:27:58 +0100 Subject: [PATCH] fix: adapt dialect tests after recent pipeline changes new passes have affected the order of appearance of constants, so they just needed to be put at the top in the expected IR --- .../FHELinalg/apply_mapped_lut_to_linalg.mlir | 8 ++--- .../FHELinalg/tensor-ops-to-linalg.mlir | 33 +++++++++---------- 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/compiler/tests/Dialect/FHELinalg/FHELinalg/apply_mapped_lut_to_linalg.mlir b/compiler/tests/Dialect/FHELinalg/FHELinalg/apply_mapped_lut_to_linalg.mlir index a74672da6..92fc77b02 100644 --- a/compiler/tests/Dialect/FHELinalg/FHELinalg/apply_mapped_lut_to_linalg.mlir +++ b/compiler/tests/Dialect/FHELinalg/FHELinalg/apply_mapped_lut_to_linalg.mlir @@ -4,15 +4,15 @@ //CHECK-LABEL: #map = affine_map<(d0, d1) -> (d0, d1)> //CHECK-NEXT:module { //CHECK-NEXT: func @mapped_lut(%arg0: tensor<2x3x!TFHE.glwe<{_,_,_}{2}>>, %[[LUTS:.*]]: tensor<5x4xi64>, %arg2: tensor<2x3xindex>) -> tensor<2x3x!TFHE.glwe<{_,_,_}{2}>> { +//CHECK-NEXT: %[[C0:.*]] = arith.constant 0 : index +//CHECK-NEXT: %[[C1:.*]] = arith.constant 1 : index +//CHECK-NEXT: %[[C2:.*]] = arith.constant 2 : index +//CHECK-NEXT: %[[C3:.*]] = arith.constant 3 : index //CHECK-NEXT: %[[V0:.*]] = linalg.init_tensor [2, 3] : tensor<2x3x!TFHE.glwe<{_,_,_}{2}>> //CHECK-NEXT: %[[V1:.*]] = linalg.generic {indexing_maps = [#map, #map, #map], iterator_types = ["parallel", "parallel"]} ins(%arg0, %arg2 : tensor<2x3x!TFHE.glwe<{_,_,_}{2}>>, tensor<2x3xindex>) outs(%0 : tensor<2x3x!TFHE.glwe<{_,_,_}{2}>>) { //CHECK-NEXT: ^bb0(%arg3: !TFHE.glwe<{_,_,_}{2}>, %[[LUTIDX:.*]]: index, %arg5: !TFHE.glwe<{_,_,_}{2}>): // no predecessors //DISABLED-CHECK-NEXT: %[[V3:.*]] = tensor.extract_slice %arg1[%[[LUTIDX]], 0] [1, 4] [1, 1] : tensor<5x4xi64> to tensor<4xi64> //WORKAROUND BEGIN -//CHECK-NEXT: %[[C0:.*]] = arith.constant 0 : index -//CHECK-NEXT: %[[C1:.*]] = arith.constant 1 : index -//CHECK-NEXT: %[[C2:.*]] = arith.constant 2 : index -//CHECK-NEXT: %[[C3:.*]] = arith.constant 3 : index //CHECK-NEXT: %[[E0:.*]] = tensor.extract %[[LUTS]][%[[LUTIDX]], %[[C0]]] : tensor<5x4xi64> //CHECK-NEXT: %[[E1:.*]] = tensor.extract %[[LUTS]][%[[LUTIDX]], %[[C1]]] : tensor<5x4xi64> //CHECK-NEXT: %[[E2:.*]] = tensor.extract %[[LUTS]][%[[LUTIDX]], %[[C2]]] : tensor<5x4xi64> diff --git a/compiler/tests/Dialect/FHELinalg/FHELinalg/tensor-ops-to-linalg.mlir b/compiler/tests/Dialect/FHELinalg/FHELinalg/tensor-ops-to-linalg.mlir index 7f2be19f2..2413146da 100644 --- a/compiler/tests/Dialect/FHELinalg/FHELinalg/tensor-ops-to-linalg.mlir +++ b/compiler/tests/Dialect/FHELinalg/FHELinalg/tensor-ops-to-linalg.mlir @@ -1,22 +1,21 @@ // RUN: concretecompiler %s --action=dump-tfhe 2>&1 | FileCheck %s -// CHECK: #map0 = affine_map<(d0) -> (d0)> -// CHECK-NEXT: #map1 = affine_map<(d0) -> (0)> -// CHECK-NEXT: module { -// CHECK-NEXT: func @dot_eint_int(%arg0: tensor<2x!TFHE.glwe<{_,_,_}{2}>>, %arg1: tensor<2xi3>) -> !TFHE.glwe<{_,_,_}{2}> { -// CHECK-NEXT: %0 = "TFHE.zero_tensor"() : () -> tensor<1x!TFHE.glwe<{_,_,_}{2}>> -// CHECK-NEXT: %1 = linalg.generic {indexing_maps = [#map0, #map0, #map1], iterator_types = ["reduction"]} ins(%arg0, %arg1 : tensor<2x!TFHE.glwe<{_,_,_}{2}>>, tensor<2xi3>) outs(%0 : tensor<1x!TFHE.glwe<{_,_,_}{2}>>) { -// CHECK-NEXT: ^bb0(%arg2: !TFHE.glwe<{_,_,_}{2}>, %arg3: i3, %arg4: !TFHE.glwe<{_,_,_}{2}>): // no predecessors -// CHECK-NEXT: %3 = "TFHE.mul_glwe_int"(%arg2, %arg3) : (!TFHE.glwe<{_,_,_}{2}>, i3) -> !TFHE.glwe<{_,_,_}{2}> -// CHECK-NEXT: %4 = "TFHE.add_glwe"(%3, %arg4) : (!TFHE.glwe<{_,_,_}{2}>, !TFHE.glwe<{_,_,_}{2}>) -> !TFHE.glwe<{_,_,_}{2}> -// CHECK-NEXT: linalg.yield %4 : !TFHE.glwe<{_,_,_}{2}> -// CHECK-NEXT: } -> tensor<1x!TFHE.glwe<{_,_,_}{2}>> -// CHECK-NEXT: %c0 = arith.constant 0 : index -// CHECK-NEXT: %2 = tensor.extract %1[%c0] : tensor<1x!TFHE.glwe<{_,_,_}{2}>> -// CHECK-NEXT: return %2 : !TFHE.glwe<{_,_,_}{2}> -// CHECK-NEXT: } -// CHECK-NEXT: } - +//CHECK: #map0 = affine_map<(d0) -> (d0)> +//CHECK-NEXT: #map1 = affine_map<(d0) -> (0)> +//CHECK-NEXT: module { +//CHECK-NEXT: func @dot_eint_int(%arg0: tensor<2x!TFHE.glwe<{_,_,_}{2}>>, %arg1: tensor<2xi3>) -> !TFHE.glwe<{_,_,_}{2}> { +//CHECK-NEXT: %c0 = arith.constant 0 : index +//CHECK-NEXT: %0 = "TFHE.zero_tensor"() : () -> tensor<1x!TFHE.glwe<{_,_,_}{2}>> +//CHECK-NEXT: %1 = linalg.generic {indexing_maps = [#map0, #map0, #map1], iterator_types = ["reduction"]} ins(%arg0, %arg1 : tensor<2x!TFHE.glwe<{_,_,_}{2}>>, tensor<2xi3>) outs(%0 : tensor<1x!TFHE.glwe<{_,_,_}{2}>>) { +//CHECK-NEXT: ^bb0(%arg2: !TFHE.glwe<{_,_,_}{2}>, %arg3: i3, %arg4: !TFHE.glwe<{_,_,_}{2}>): // no predecessors +//CHECK-NEXT: %3 = "TFHE.mul_glwe_int"(%arg2, %arg3) : (!TFHE.glwe<{_,_,_}{2}>, i3) -> !TFHE.glwe<{_,_,_}{2}> +//CHECK-NEXT: %4 = "TFHE.add_glwe"(%3, %arg4) : (!TFHE.glwe<{_,_,_}{2}>, !TFHE.glwe<{_,_,_}{2}>) -> !TFHE.glwe<{_,_,_}{2}> +//CHECK-NEXT: linalg.yield %4 : !TFHE.glwe<{_,_,_}{2}> +//CHECK-NEXT: } -> tensor<1x!TFHE.glwe<{_,_,_}{2}>> +//CHECK-NEXT: %2 = tensor.extract %1[%c0] : tensor<1x!TFHE.glwe<{_,_,_}{2}>> +//CHECK-NEXT: return %2 : !TFHE.glwe<{_,_,_}{2}> +//CHECK-NEXT: } +//CHECK-NEXT: } func @dot_eint_int(%arg0: tensor<2x!FHE.eint<2>>, %arg1: tensor<2xi3>) -> !FHE.eint<2> {