Skip to content

Commit d7b142c

Browse files
Fix tests with upstream polynomial RingAttr changes
Check llvm/llvm-project#111016 More constraints on coefficientModulus are defined so tests are updated.
1 parent 94fae4f commit d7b142c

File tree

5 files changed

+10
-9
lines changed

5 files changed

+10
-9
lines changed

lib/Conversion/PolynomialToStandard/PolynomialToStandard.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -815,9 +815,10 @@ func::FuncOp PolynomialToStandard::buildPolynomialModFunc(FunctionType funcType,
815815
IntPolynomialAttr xnMinusOneAttr =
816816
IntPolynomialAttr::get(&getContext(), xnMinusOne);
817817
// e.g., need to represent 2^64, which requires 65 bits, the highest one set.
818+
// And one more sign bit as RingAttr interprets it as signed number.
818819
unsigned remCmodWidth =
819-
1 + inputType.getElementType().getIntOrFloatBitWidth();
820-
APInt remCmod = APInt::getOneBitSet(remCmodWidth, remCmodWidth - 1);
820+
1 + 1 + inputType.getElementType().getIntOrFloatBitWidth();
821+
APInt remCmod = APInt::getOneBitSet(remCmodWidth, remCmodWidth - 1 - 1);
821822
IntegerType remIntType = IntegerType::get(&getContext(), remCmodWidth);
822823
auto remRing =
823824
RingAttr::get(ring.getCoefficientType(),

tests/polynomial/lower_add.mlir

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
#cycl_2048 = #polynomial.int_polynomial<1 + x**1024>
44
#ring = #polynomial.ring<coefficientType = i32, coefficientModulus = 4294967296 : i64, polynomialModulus=#cycl_2048>
5-
#ring_prime = #polynomial.ring<coefficientType = i32, coefficientModulus = 4294967291 : i32, polynomialModulus=#cycl_2048>
5+
#ring_prime = #polynomial.ring<coefficientType = i32, coefficientModulus = 4294967291 : i64, polynomialModulus=#cycl_2048>
66

77

88
// CHECK-LABEL: @test_lower_add_power_of_two_cmod

tests/polynomial/lower_mul_scalar.mlir

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// RUN: heir-opt --polynomial-to-standard %s | FileCheck %s
22

3-
!poly_ty = !polynomial.polynomial<ring=<coefficientType = i64, coefficientModulus = 18446744073709551616 : i65, polynomialModulus=#polynomial.int_polynomial<-1 + x**2047>>>
3+
!poly_ty = !polynomial.polynomial<ring=<coefficientType = i64, coefficientModulus = 18446744073709551616 : i128, polynomialModulus=#polynomial.int_polynomial<-1 + x**2047>>>
44

55
// CHECK-LABEL: func.func @test_lower_mul_scalar
66
// CHECK-SAME: (%[[ARG:.*]]: [[T:.*]])

tests/polynomial/lower_polynomial.mlir

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
#cycl_2048 = #polynomial.int_polynomial<1 + x**1024>
44
#ring = #polynomial.ring<coefficientType = i32, coefficientModulus = 4294967296 : i64, polynomialModulus=#cycl_2048>
5-
#ring_prime = #polynomial.ring<coefficientType = i32, coefficientModulus = 4294967291 : i32, polynomialModulus=#cycl_2048>
5+
#ring_prime = #polynomial.ring<coefficientType = i32, coefficientModulus = 4294967291 : i64, polynomialModulus=#cycl_2048>
66
module {
77
// CHECK-label: test_lower_from_tensor
88
func.func @test_lower_from_tensor() -> !polynomial.polynomial<ring=#ring> {

tests/rns/syntax.mlir

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
#ideal_2 = #polynomial.int_polynomial<1 + x**2048>
55

66
// Below we use random 32-bit primes
7-
#ring_1 = #polynomial.ring<coefficientType = i32, coefficientModulus = 3721063133 : i32, polynomialModulus=#ideal>
8-
#ring_2 = #polynomial.ring<coefficientType = i32, coefficientModulus = 2737228591 : i32, polynomialModulus=#ideal>
9-
#ring_3 = #polynomial.ring<coefficientType = i32, coefficientModulus = 3180146689 : i32, polynomialModulus=#ideal>
10-
#ring_bad = #polynomial.ring<coefficientType = i32, coefficientModulus = 3180146689 : i32, polynomialModulus=#ideal_2>
7+
#ring_1 = #polynomial.ring<coefficientType = i32, coefficientModulus = 3721063133 : i64, polynomialModulus=#ideal>
8+
#ring_2 = #polynomial.ring<coefficientType = i32, coefficientModulus = 2737228591 : i64, polynomialModulus=#ideal>
9+
#ring_3 = #polynomial.ring<coefficientType = i32, coefficientModulus = 3180146689 : i64, polynomialModulus=#ideal>
10+
#ring_bad = #polynomial.ring<coefficientType = i32, coefficientModulus = 3180146689 : i64, polynomialModulus=#ideal_2>
1111

1212
!poly_ty_1 = !polynomial.polynomial<ring=#ring_1>
1313
!poly_ty_2 = !polynomial.polynomial<ring=#ring_2>

0 commit comments

Comments
 (0)