|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, 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, 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, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
| #
479c4f64 |
| 07-Jul-2022 |
Groverkss <[email protected]> |
[MLIR][Presburger] Refactor division representation to DivisionRepr
This patch refactors existing implementations of division representation storage into a new class, DivisionRepr. This refactoring
[MLIR][Presburger] Refactor division representation to DivisionRepr
This patch refactors existing implementations of division representation storage into a new class, DivisionRepr. This refactoring is done so that the common division utilities can be shared in an upcoming patch.
Reviewed By: arjunp
Differential Revision: https://reviews.llvm.org/D129146
show more ...
|
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5 |
|
| #
ec145ba2 |
| 01-Jun-2022 |
Arjun P <[email protected]> |
[MLIR][Presburger] Matrix: inline trivial accessors
This resolves a comment from https://reviews.llvm.org/D126708 that was previously missed.
|
| #
d5e31cf3 |
| 31-May-2022 |
Arjun P <[email protected]> |
[MLIR][Presburger] Move Matrix accessors inline
This gives a 1.5x speedup on the Presburger unittests.
Reviewed By: Groverkss
Differential Revision: https://reviews.llvm.org/D126708
|
|
Revision tags: llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
| #
aafb4282 |
| 10-Apr-2022 |
Arjun P <[email protected]> |
[MLIR][Presburger][Simplex] symbolic lexmin: add some normalization heuristics
Normalize some of the division and inequality expressions used, which can improve performance. Also deduplicate some of
[MLIR][Presburger][Simplex] symbolic lexmin: add some normalization heuristics
Normalize some of the division and inequality expressions used, which can improve performance. Also deduplicate some of the normalization functionality throughout the Presburger library.
Reviewed By: Groverkss
Differential Revision: https://reviews.llvm.org/D123314
show more ...
|
| #
79ad5fb2 |
| 04-Apr-2022 |
Arjun P <[email protected]> |
[MLIR][Presburger] IntegerPolyhedron: add support for symbolic integer lexmin
Add support for computing the symbolic integer lexmin of a polyhedron. This finds, for every assignment to the symbols,
[MLIR][Presburger] IntegerPolyhedron: add support for symbolic integer lexmin
Add support for computing the symbolic integer lexmin of a polyhedron. This finds, for every assignment to the symbols, the lexicographically minimum value attained by the dimensions. For example, the symbolic lexmin of the set
`(x, y)[a, b, c] : (a <= x, b <= x, x <= c)`
can be written as
``` x = a if b <= a, a <= c x = b if a < b, b <= c ```
This also finds the set of assignments to the symbols that make the lexmin unbounded.
This was previously landed in da92f92621e28a56fe8ad79d82eb60e436bf1d39 and reverted in b238c252e8b1bbebc7ed79c08e06c23514d0dfb4 due to a build failure in the code. Re-landing now with a fixed build.
Reviewed By: Groverkss
Differential Revision: https://reviews.llvm.org/D122985
show more ...
|
| #
b238c252 |
| 04-Apr-2022 |
Arjun P <[email protected]> |
Revert "[MLIR][Presburger] IntegerPolyhedron: add support for symbolic integer lexmin"
This reverts commit da92f92621e28a56fe8ad79d82eb60e436bf1d39.
|
| #
da92f926 |
| 04-Apr-2022 |
Arjun P <[email protected]> |
[MLIR][Presburger] IntegerPolyhedron: add support for symbolic integer lexmin
Add support for computing the symbolic integer lexmin of a polyhedron. This finds, for every assignment to the symbols,
[MLIR][Presburger] IntegerPolyhedron: add support for symbolic integer lexmin
Add support for computing the symbolic integer lexmin of a polyhedron. This finds, for every assignment to the symbols, the lexicographically minimum value attained by the dimensions. For example, the symbolic lexmin of the set
`(x, y)[a, b, c] : (a <= x, b <= x, x <= c)`
can be written as
``` x = a if b <= a, a <= c x = b if a < b, b <= c ```
This also finds the set of assignments to the symbols that make the lexmin unbounded.
Reviewed By: Groverkss
Differential Revision: https://reviews.llvm.org/D122985
show more ...
|
| #
30c0a148 |
| 21-Mar-2022 |
Arjun P <[email protected]> |
[MLIR][Presburger] Matrix::insertColumns: add doc, fix lint issue, and early exit when possible
Reviewed By: Groverkss
Differential Revision: https://reviews.llvm.org/D122137
|
| #
d98dfdea |
| 17-Mar-2022 |
Arjun P <[email protected]> |
[MLIR][Presburger] add a non-const Matrix::getRow() returning a MutableArrayRef
Reviewed By: Groverkss
Differential Revision: https://reviews.llvm.org/D122136
|
| #
3edec279 |
| 21-Mar-2022 |
Arjun P <[email protected]> |
Revert "Matrix::getRow non-const"
This reverts commit 68575ddea52d3104a7a6e2998fa05be278b99b34. This commit was pushed accidentally.
|
| #
68575dde |
| 17-Mar-2022 |
Arjun P <[email protected]> |
Matrix::getRow non-const
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2 |
|
| #
eff51cf9 |
| 25-Feb-2022 |
Groverkss <[email protected]> |
[MLIR][Presburger] Use Matrix utilities for IntegerPolyhedron
This patch replaces various functions over inequalities/equalities in IntegerPolyhedron with Matrix functions already implementing them
[MLIR][Presburger] Use Matrix utilities for IntegerPolyhedron
This patch replaces various functions over inequalities/equalities in IntegerPolyhedron with Matrix functions already implementing them or refactors them to a Matrix function.
Reviewed By: arjunp
Differential Revision: https://reviews.llvm.org/D120482
show more ...
|
| #
0c1f6865 |
| 25-Feb-2022 |
Groverkss <[email protected]> |
[MLIR][Presburger] Move Presburger/ files to presburger namespace
This patch moves the Presburger library to a new `presburger` namespace.
This allows to shorten some names, helps to avoid pollutin
[MLIR][Presburger] Move Presburger/ files to presburger namespace
This patch moves the Presburger library to a new `presburger` namespace.
This allows to shorten some names, helps to avoid polluting the mlir namespace, and also provides some structure.
Reviewed By: arjunp
Differential Revision: https://reviews.llvm.org/D120505
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc1 |
|
| #
25549414 |
| 02-Feb-2022 |
Arjun P <[email protected]> |
[MLIR] Matrix: support matrix-vector multiplication
This just moves in the implementation from LinearTransform.
Reviewed By: Groverkss, bondhugula
Differential Revision: https://reviews.llvm.org/D
[MLIR] Matrix: support matrix-vector multiplication
This just moves in the implementation from LinearTransform.
Reviewed By: Groverkss, bondhugula
Differential Revision: https://reviews.llvm.org/D118479
show more ...
|
|
Revision tags: llvmorg-15-init |
|
| #
6db01958 |
| 28-Jan-2022 |
Arjun P <[email protected]> |
[MLIR] Introduce LexSimplex to support lexicographic optimization
This patch introduces a class LexSimplex that can currently be used to find the lexicographically minimal rational point in an Integ
[MLIR] Introduce LexSimplex to support lexicographic optimization
This patch introduces a class LexSimplex that can currently be used to find the lexicographically minimal rational point in an IntegerPolyhedron. This is a series of patches leading to computing the lexicographically minimal integer lattice point as well parametric lexicographic minimization.
Reviewed By: Groverkss
Differential Revision: https://reviews.llvm.org/D117437
show more ...
|
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4 |
|
| #
f263ea15 |
| 17-Sep-2021 |
Arjun P <[email protected]> |
[MLIR] Matrix: support resizing horizontally
Reviewed By: Groverkss
Differential Revision: https://reviews.llvm.org/D109897
|
|
Revision tags: llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init |
|
| #
c605dfcf |
| 01-Jul-2021 |
Arjun P <[email protected]> |
[MLIR] FlatAffineConstraints: Use Matrix objects to store the constraints
This results in significant deduplication of code. This patch is not expected to change any functionality, it's just some si
[MLIR] FlatAffineConstraints: Use Matrix objects to store the constraints
This results in significant deduplication of code. This patch is not expected to change any functionality, it's just some simplification in preparation for future work. Also slightly simplified some code that was being touched anyway and added some unit tests for some functions that were touched.
Reviewed By: bondhugula
Differential Revision: https://reviews.llvm.org/D105152
show more ...
|
|
Revision tags: llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2 |
|
| #
6ebeba88 |
| 14-Jan-2021 |
Arjun P <[email protected]> |
Support emptiness checks for unbounded FlatAffineConstraints.
With this, we have complete support for emptiness checks. This also paves the way for future support to check if two FlatAffineConstrain
Support emptiness checks for unbounded FlatAffineConstraints.
With this, we have complete support for emptiness checks. This also paves the way for future support to check if two FlatAffineConstraints are equal.
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D94272
show more ...
|
|
Revision tags: llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3 |
|
| #
10a898b3 |
| 02-Jul-2020 |
Arjun P <[email protected]> |
[MLIR] Exact integer emptiness checks for FlatAffineConstraints
This patch adds the capability to perform exact integer emptiness checks for FlatAffineConstraints using the General Basis Reduction a
[MLIR] Exact integer emptiness checks for FlatAffineConstraints
This patch adds the capability to perform exact integer emptiness checks for FlatAffineConstraints using the General Basis Reduction algorithm (GBR). Previously, only a heuristic was available for emptiness checks, which was not guaranteed to always give a conclusive result.
This patch adds a `Simplex` class, which can be constructed using a `FlatAffineConstraints`, and can find an integer sample point (if one exists) using the GBR algorithm. Additionally, it adds two classes `Matrix` and `Fraction`, which are used by `Simplex`.
The integer emptiness check functionality can be accessed through the new `FlatAffineConstraints::isIntegerEmpty()` function, which runs the existing heuristic first and, if that proves to be inconclusive, runs the GBR algorithm to produce a conclusive result.
Differential Revision: https://reviews.llvm.org/D80860
show more ...
|