|
Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5 |
|
| #
24da7fa0 |
| 18-Apr-2024 |
Bharathi Ramana Joshi <joshibharathiramana@gmail.com> |
[MLIR][Presburger] Use Identifiers outside Presburger library (#77316)
The pull request includes the following changes.
1. Refactors the interface to `PresburgerSpace::identifiers` to `setId` and a
[MLIR][Presburger] Use Identifiers outside Presburger library (#77316)
The pull request includes the following changes.
1. Refactors the interface to `PresburgerSpace::identifiers` to `setId` and a
const `getId`, instead of previous `getId` which returned a mutable
reference. `resetIds` does not need to be called to use identifiers, `setId`
calls `resetIds` if identifiers are not enabled.
2. Deprecates `FlatAffineRelation` by refactoring all usages of
`FlatAffineRelation` to `IntegerRelation`. To achieve this,
`FlatAffineRelation::compose` is refactored into
`IntegerRelation::mergeAndCompose`.
3. Deletes unneeded overrides of virtual functions `hasConsistentState`,
`clearAndCopyFrom` and `fourierMotzkinEliminate` from
`FlatLinearValueConstraints` as these were only used through
`FlatAffineRelation` and we now use `IntegerRelation`'s member functions
instead.
4. Fixes an existing bug in FlatLinearValueConstraints' constructor
which caused
identifiers set by superclass FlatLinearConstraints' constructor to be
erased.
5. Fixes `IntegerRelation::convertVarKind` not preserving identifiers.
show more ...
|
|
Revision tags: 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 |
|
| #
d70bfeb4 |
| 20-Jan-2024 |
Bharathi Ramana Joshi <joshibharathiramana@gmail.com> |
[MLIR][Presburger] Implement IntegerRelation::setId (#77872)
|
| #
3eb9fd8a |
| 07-Jan-2024 |
Bharathi Ramana Joshi <joshibharathiramana@gmail.com> |
[MLIR][Presburger] Implement IntegerRelation::mergeAndAlignSymbols (#76736)
|
| #
8d7c9798 |
| 13-Dec-2023 |
Bharathi Ramana Joshi <joshibharathiramana@gmail.com> |
[MLIR][Presburger] Fix IntegerRelation::swapVar not swapping identifiers (#74407)
This commit fixes a bug where identifiers were not swapped when doing a
IntegerRelation::swapVar.
|
|
Revision tags: 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 |
|
| #
ccf194b8 |
| 17-Sep-2023 |
Bharathi Ramana Joshi <joshibharathiramana@gmail.com> |
[MLIR][Presburger] Implement convertVarKind for PresburgerRelation
|
|
Revision tags: llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1 |
|
| #
56863adf |
| 26-Jul-2023 |
iambrj <joshibharathiramana@gmail.com> |
[MLIR][Presburger] Implement findSymbolicIntegerLexMax for IntegerRelation
This patch implements findSymbolicIntegerLexMax for IntegerRelation
Reviewed By: Groverkss
Differential Revision: https:/
[MLIR][Presburger] Implement findSymbolicIntegerLexMax for IntegerRelation
This patch implements findSymbolicIntegerLexMax for IntegerRelation
Reviewed By: Groverkss
Differential Revision: https://reviews.llvm.org/D156023
show more ...
|
|
Revision tags: 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, working, llvmorg-15.0.2, llvmorg-15.0.1 |
|
| #
8c867f78 |
| 15-Sep-2022 |
Groverkss <groverkss@gmail.com> |
[MLIR][Presburger] Improve unittest parsing
This patch adds better functions for parsing MultiAffineFunctions and PWMAFunctions in Presburger unittests.
A PWMAFunction can now be parsed as:
``` PW
[MLIR][Presburger] Improve unittest parsing
This patch adds better functions for parsing MultiAffineFunctions and PWMAFunctions in Presburger unittests.
A PWMAFunction can now be parsed as:
``` PWMAFunction result = parsePWMAF({ {"(x, y) : (x >= 10, x <= 20, y >= 1)", "(x, y) -> (x + y)"}, {"(x, y) : (x >= 21)", "(x, y) -> (x + y)"}, {"(x, y) : (x <= 9)", "(x, y) -> (x - y)"}, {"(x, y) : (x >= 10, x <= 20, y <= 0)", "(x, y) -> (x - y)"}, }); ```
which is much more readable than the old format since the output can be described as an AffineMap, instead of coefficients.
This patch also adds support for parsing divisions in MultiAffineFunctions and PWMAFunctions which was previously not possible.
Reviewed By: arjunp
Differential Revision: https://reviews.llvm.org/D133654
show more ...
|
| #
644dfbac |
| 15-Sep-2022 |
Groverkss <groverkss@gmail.com> |
Revert "[MLIR][Presburger] Improve unittest parsing"
This reverts commit 84d07d021333f7b5716f0444d5c09105557272e0.
Reverted to fix a compilation issue on gcc8.
|
| #
84d07d02 |
| 15-Sep-2022 |
Groverkss <groverkss@gmail.com> |
[MLIR][Presburger] Improve unittest parsing
This patch adds better functions for parsing MultiAffineFunctions and PWMAFunctions in Presburger unittests.
A PWMAFunction can now be parsed as:
``` PW
[MLIR][Presburger] Improve unittest parsing
This patch adds better functions for parsing MultiAffineFunctions and PWMAFunctions in Presburger unittests.
A PWMAFunction can now be parsed as:
``` PWMAFunction result = parsePWMAF({ {"(x, y) : (x >= 10, x <= 20, y >= 1)", "(x, y) -> (x + y)"}, {"(x, y) : (x >= 21)", "(x, y) -> (x + y)"}, {"(x, y) : (x <= 9)", "(x, y) -> (x - y)"}, {"(x, y) : (x >= 10, x <= 20, y <= 0)", "(x, y) -> (x - y)"}, }); ```
which is much more readable than the old format since the output can be described as an AffineMap, instead of coefficients.
This patch also adds support for parsing divisions in MultiAffineFunctions and PWMAFunctions which was previously not possible.
Reviewed By: arjunp
Differential Revision: https://reviews.llvm.org/D133654
show more ...
|
| #
bb2226ac |
| 11-Sep-2022 |
Groverkss <groverkss@gmail.com> |
[MLIR][Presburger] Refactor MultiAffineFunction to be defined over universe
This patch refactors MAF to be defined over the universe in a given space instead of being defined over a restricted domai
[MLIR][Presburger] Refactor MultiAffineFunction to be defined over universe
This patch refactors MAF to be defined over the universe in a given space instead of being defined over a restricted domain.
The reasoning for this refactor is to store division representation for local variables explicitly for the function outputs. This change is required for unionLexMax/Min to support local variables which will be upstreamed after this patch. Another reason for this refactor is to have a flattened form of AffineMap as MultiAffineFunction.
Reviewed By: arjunp
Differential Revision: https://reviews.llvm.org/D131864
show more ...
|
|
Revision tags: llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
| #
c4abef28 |
| 01-Jul-2022 |
Arjun P <arjunpitchanathan@gmail.com> |
[MLIR][Presburger] support symbolicLexMin for IntegerRelation
This also changes the space of the returned lexmin for IntegerPolyhedrons; the symbols in the poly now correspond to symbols in the resu
[MLIR][Presburger] support symbolicLexMin for IntegerRelation
This also changes the space of the returned lexmin for IntegerPolyhedrons; the symbols in the poly now correspond to symbols in the result rather than dims.
Reviewed By: Groverkss
Differential Revision: https://reviews.llvm.org/D128933
show more ...
|
| #
d95140a5 |
| 28-Jun-2022 |
Groverkss <groverkss@gmail.com> |
[MLIR][Presburger] Rename variable/identifier -> variable
Currently, in the Presburger library, we use the words "variables" and "identifiers" interchangeably. This patch changes this to only use "v
[MLIR][Presburger] Rename variable/identifier -> variable
Currently, in the Presburger library, we use the words "variables" and "identifiers" interchangeably. This patch changes this to only use "variables" to refer to the variables of PresburgerSpace.
The reasoning behind this change is that the current usage of the word "identifier" is misleading. variables do not "identify" anything. The information attached to them is the actual "identifier" for the variable. The word "identifier", will later be used to refer to the information attached to each variable in space.
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D128585
show more ...
|
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5 |
|
| #
dac27da7 |
| 28-May-2022 |
Groverkss <groverkss@gmail.com> |
[MLIR][Presburger] Add applyDomain/Range to IntegerRelation
This patch adds support for applying a relation on domain/range of a relation.
Reviewed By: arjunp, ftynse
Differential Revision: https:
[MLIR][Presburger] Add applyDomain/Range to IntegerRelation
This patch adds support for applying a relation on domain/range of a relation.
Reviewed By: arjunp, ftynse
Differential Revision: https://reviews.llvm.org/D126339
show more ...
|
| #
f168a659 |
| 27-May-2022 |
Groverkss <groverkss@gmail.com> |
[MLIR][Presburger] Add intersectDomain/Range to IntegerRelation
This patch adds support for intersection a set with a relation.
Reviewed By: arjunp
Differential Revision: https://reviews.llvm.org/
[MLIR][Presburger] Add intersectDomain/Range to IntegerRelation
This patch adds support for intersection a set with a relation.
Reviewed By: arjunp
Differential Revision: https://reviews.llvm.org/D126328
show more ...
|
| #
fb857ded |
| 25-May-2022 |
Groverkss <groverkss@gmail.com> |
[MLIR][Presburger] Add inverse to IntegerRelation
This patch adds support for obtaining inverse of a relation.
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D126327
|
| #
3c057ac2 |
| 25-May-2022 |
Groverkss <groverkss@gmail.com> |
[MLIR][Presburger] Add getDomainSet, getRangeSet to IntegerRelation
This patch adds support for obtaining a set corresponding to the domain/range of the relation.
Reviewed By: ftynse
Differential
[MLIR][Presburger] Add getDomainSet, getRangeSet to IntegerRelation
This patch adds support for obtaining a set corresponding to the domain/range of the relation.
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D126326
show more ...
|