History log of /llvm-project/mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp (Results 1 – 11 of 11)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1
# d48777ec 28-Sep-2024 Hongren Zheng <i@zenithal.me>

[mlir][polynomial] remove incorrect canonicalization rule (#110318)

arith.add for tensor does not mod coefficientModulus, and it may
overflow; the result could be incorrect

It should be rewritten a

[mlir][polynomial] remove incorrect canonicalization rule (#110318)

arith.add for tensor does not mod coefficientModulus, and it may
overflow; the result could be incorrect

It should be rewritten as modular arithmetic instead of arith

Revert https://github.com/llvm/llvm-project/pull/93132
Addresses https://github.com/google/heir/issues/749

Cc @j2kun

show more ...


Revision tags: llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init
# db791b27 02-Jul-2024 Ramkumar Ramachandra <ramkumar.ramachandra@codasip.com>

mlir/LogicalResult: move into llvm (#97309)

This patch is part of a project to move the Presburger library into
LLVM.


Revision tags: llvmorg-18.1.8, llvmorg-18.1.7
# f2f6569e 31-May-2024 Jeremy Kun <jkun@google.com>

[mlir][polynomial] ensure primitive root calculation doesn't overflow (#93368)

Rebased over https://github.com/llvm/llvm-project/pull/93243

Co-authored-by: Jeremy Kun <j2kun@users.noreply.github.

[mlir][polynomial] ensure primitive root calculation doesn't overflow (#93368)

Rebased over https://github.com/llvm/llvm-project/pull/93243

Co-authored-by: Jeremy Kun <j2kun@users.noreply.github.com>

show more ...


# 692ae544 30-May-2024 Jeremy Kun <jkun@google.com>

[mlir][polynomial] verify from_tensor coeff type (#93243)

Rebased over https://github.com/llvm/llvm-project/pull/93227

---------

Co-authored-by: Jeremy Kun <j2kun@users.noreply.github.com>


# 1f46729a 30-May-2024 Jeremy Kun <jkun@google.com>

[polynomial] Move primitive root attribute to ntt/intt ops. (#93227)

Better design to put semantics on the ops, and in this case the ntt/intt
op can lower in multiple ways depending on the polynomi

[polynomial] Move primitive root attribute to ntt/intt ops. (#93227)

Better design to put semantics on the ops, and in this case the ntt/intt
op can lower in multiple ways depending on the polynomial ring modulus
(it can need an nth root of unity for cyclic polymul -> ntt, or a 2nth
root for negacyclic polymul -> ntt)

---------

Co-authored-by: Jeremy Kun <j2kun@users.noreply.github.com>

show more ...


# 1a28f26b 23-May-2024 Jeremy Kun <jkun@google.com>

[polynomial] distribute add/sub through ntt to reduce ntts (#93132)

Addresses
https://github.com/google/heir/issues/542#issuecomment-2126175775

Co-authored-by: Jeremy Kun <j2kun@users.noreply.gi

[polynomial] distribute add/sub through ntt to reduce ntts (#93132)

Addresses
https://github.com/google/heir/issues/542#issuecomment-2126175775

Co-authored-by: Jeremy Kun <j2kun@users.noreply.github.com>

show more ...


# ab29203e 22-May-2024 Jeremy Kun <jkun@google.com>

[mlir][polynomial] use typed attributes for polynomial.constant op (#92818)

Co-authored-by: Jeremy Kun <j2kun@users.noreply.github.com>


Revision tags: llvmorg-18.1.6
# 932bef23 17-May-2024 Jeremy Kun <jkun@google.com>

Poly canonicalization (#91410)

Adds simple canonicalization rules to the polynomial dialect. Mainly to
get the boilerplate incorporated before more substantial
canonicalization patterns are added.

Poly canonicalization (#91410)

Adds simple canonicalization rules to the polynomial dialect. Mainly to
get the boilerplate incorporated before more substantial
canonicalization patterns are added.

---------

Co-authored-by: Jeremy Kun <j2kun@users.noreply.github.com>

show more ...


# 624c9fc8 05-May-2024 Jeremy Kun <jkun@google.com>

Upstream polynomial.ntt and polynomial.intt (#90992)

These two ops represent a number-theoretic transform of a polynomial to
a tensor of evaluations of the polynomial at a list of powers of
primitiv

Upstream polynomial.ntt and polynomial.intt (#90992)

These two ops represent a number-theoretic transform of a polynomial to
a tensor of evaluations of the polynomial at a list of powers of
primitive roots of the polynomial.

To support this, a new optional attribute is added to the ring attribute
to specify the primitive root of unity used for the NTT. A verifier for
the op is added to ensure the chosen root is a primitive nth root of
unity.

---------

Co-authored-by: Jeremy Kun <j2kun@users.noreply.github.com>
Co-authored-by: Oleksandr "Alex" Zinenko <ftynse@gmail.com>

show more ...


Revision tags: llvmorg-18.1.5
# 145176dc 28-Apr-2024 Jeremy Kun <jkun@google.com>

polynomial: Add basic ops (#89525)

Adds a few basic polynomial ops.

- add, sub, mul
- mul_scalar
- leading_term, monomial_mul, monomial (useful for lowering `mul` to
standard MLIR)
- from_ten

polynomial: Add basic ops (#89525)

Adds a few basic polynomial ops.

- add, sub, mul
- mul_scalar
- leading_term, monomial_mul, monomial (useful for lowering `mul` to
standard MLIR)
- from_tensor, to_tensor, constant

---------

Co-authored-by: Jeremy Kun <j2kun@users.noreply.github.com>
Co-authored-by: Oleksandr "Alex" Zinenko <ftynse@gmail.com>

show more ...


Revision tags: llvmorg-18.1.4
# 55b6f170 15-Apr-2024 Jeremy Kun <jkun@google.com>

Add a polynomial dialect shell, attributes, and types (#72081)

RFC:
https://discourse.llvm.org/t/rfc-a-poly-dialect-for-polynomial-arithmetic/73891

This PR implements the minimal work needed to

Add a polynomial dialect shell, attributes, and types (#72081)

RFC:
https://discourse.llvm.org/t/rfc-a-poly-dialect-for-polynomial-arithmetic/73891

This PR implements the minimal work needed to represent the polynomial
type such that it can be tested with `lit`.

In this PR:

- Dialect shell
- `Polynomial` data structure needed for folding
- Polynomial attributes (`PolynomialAttr` and `RingAttr` which store a polynomial)
- `polynomial.polynomial` type
- Basic lit tests

---------

Co-authored-by: Jeremy Kun <j2kun@users.noreply.github.com>

show more ...