|
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 |
|
| #
c27d8152 |
| 14-Jul-2022 |
Kazu Hirata <[email protected]> |
[mlir] Use value instead of getValue (NFC)
|
| #
491d2701 |
| 13-Jul-2022 |
Kazu Hirata <[email protected]> |
[mlir] Use has_value instead of hasValue (NFC)
|
| #
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 ...
|
| #
a18f843f |
| 06-Jul-2022 |
Groverkss <[email protected]> |
[MLIR][Presburger] Support lexicographic max/min union of two PWMAFunction
This patch implements a lexicographic max/min union of two PWMAFunctions.
The lexmax/lexmin union of two functions is defi
[MLIR][Presburger] Support lexicographic max/min union of two PWMAFunction
This patch implements a lexicographic max/min union of two PWMAFunctions.
The lexmax/lexmin union of two functions is defined as a function defined on the union of the input domains of both functions, such that when only one of the functions are defined, it outputs the same as that function, and if both are defined, it outputs the lexmax/lexmin of the two outputs. On points where neither function is defined, the union is not defined either.
Reviewed By: arjunp
Differential Revision: https://reviews.llvm.org/D128829
show more ...
|
| #
c4abef28 |
| 01-Jul-2022 |
Arjun P <[email protected]> |
[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 ...
|
| #
d08522f5 |
| 29-Jun-2022 |
Arjun P <[email protected]> |
[MLIR][Preburger] fix typo covertVarKind -> convertVarKind
Also update parameter names in the implementation file to match the header.
|
| #
206a6037 |
| 29-Jun-2022 |
Benjamin Kramer <[email protected]> |
[Presburger] Cheat around old versions of clang not doing NRVO when there's a derived-to-base cast in the way
Should be NFC. We can just do the base conversion manually and avoid warnings about it.
[Presburger] Cheat around old versions of clang not doing NRVO when there's a derived-to-base cast in the way
Should be NFC. We can just do the base conversion manually and avoid warnings about it. Clang before Clang 13 didn't implement P1825 and complains:
mlir/lib/Analysis/Presburger/IntegerRelation.cpp:226:10: warning: local variable 'result' will be copied despite being returned by name [-Wreturn-std-move] return result; ^~~~~~ mlir/lib/Analysis/Presburger/IntegerRelation.cpp:226:10: note: call 'std::move' explicitly to avoid copying return result; ^~~~~~ std::move(result)
show more ...
|
| #
dda8b1ce |
| 28-Jun-2022 |
Arjun P <[email protected]> |
[MLIR][Presburger] subtract: support non-div locals
Also added test cases. Also extend support for `computeReprWithOnlyDivLocals` from `IntegerPolyhedron` to `IntegerRelation` and `PresburgerRelatio
[MLIR][Presburger] subtract: support non-div locals
Also added test cases. Also extend support for `computeReprWithOnlyDivLocals` from `IntegerPolyhedron` to `IntegerRelation` and `PresburgerRelation`.
Depends on D128736.
Reviewed By: Groverkss
Differential Revision: https://reviews.llvm.org/D128737
show more ...
|
| #
fd26d86f |
| 28-Jun-2022 |
Arjun P <[email protected]> |
[MLIR][Presburger] subtract: fix support for divs defined by equalities
Also added test cases to test this. Both IntegerRelation::addLocalFloorDiv and the fixed implementation of subtraction need to
[MLIR][Presburger] subtract: fix support for divs defined by equalities
Also added test cases to test this. Both IntegerRelation::addLocalFloorDiv and the fixed implementation of subtraction need to compute division inequalities from dividend and divisor, so this also adds helper util functions to avoid duplicating this logic.
Reviewed By: Groverkss
Differential Revision: https://reviews.llvm.org/D128736
show more ...
|
| #
d95140a5 |
| 28-Jun-2022 |
Groverkss <[email protected]> |
[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 ...
|
| #
3b7c3a65 |
| 25-Jun-2022 |
Kazu Hirata <[email protected]> |
Revert "Don't use Optional::hasValue (NFC)"
This reverts commit aa8feeefd3ac6c78ee8f67bf033976fc7d68bc6d.
|
| #
aa8feeef |
| 25-Jun-2022 |
Kazu Hirata <[email protected]> |
Don't use Optional::hasValue (NFC)
|
|
Revision tags: llvmorg-14.0.6 |
|
| #
8a7ead69 |
| 21-Jun-2022 |
Arjun P <[email protected]> |
[MLIR][Presburger] Support computing a representation of a set that only has locals that are divs
This paves the way for integer-exact projection, and for supporting non-division locals in subtracti
[MLIR][Presburger] Support computing a representation of a set that only has locals that are divs
This paves the way for integer-exact projection, and for supporting non-division locals in subtraction, complement, and equality checks.
Reviewed By: Groverkss
Differential Revision: https://reviews.llvm.org/D127463
show more ...
|
| #
6d5fc1e3 |
| 21-Jun-2022 |
Kazu Hirata <[email protected]> |
[mlir] Don't use Optional::getValue (NFC)
|
| #
d66cbc56 |
| 21-Jun-2022 |
Kazu Hirata <[email protected]> |
Don't use Optional::hasValue (NFC)
|
| #
037f0995 |
| 20-Jun-2022 |
Kazu Hirata <[email protected]> |
[mlir] Don't use Optional::hasValue (NFC)
|
|
Revision tags: llvmorg-14.0.5 |
|
| #
dac27da7 |
| 28-May-2022 |
Groverkss <[email protected]> |
[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 <[email protected]> |
[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 <[email protected]> |
[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 <[email protected]> |
[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 ...
|
|
Revision tags: llvmorg-14.0.4 |
|
| #
8eebb47f |
| 21-May-2022 |
Groverkss <[email protected]> |
[MLIR][Presburger] Update equality and subset checks asserts in IntegerRelation
This patch updates asserts in IntegerRelation::isEqual and IntegerRelation::isCompatible to allow these functions when
[MLIR][Presburger] Update equality and subset checks asserts in IntegerRelation
This patch updates asserts in IntegerRelation::isEqual and IntegerRelation::isCompatible to allow these functions when number of local identifiers are different. This change is done to reflect the algorithmic changes done before this patch.
show more ...
|
|
Revision tags: llvmorg-14.0.3, llvmorg-14.0.2 |
|
| #
15650b32 |
| 18-Apr-2022 |
Groverkss <[email protected]> |
[MLIR][Presburger] Remove inheritence in MultiAffineFunction
This patch removes inheritence of MultiAffineFunction from IntegerPolyhedron and instead makes IntegerPolyhedron as a member.
This patch
[MLIR][Presburger] Remove inheritence in MultiAffineFunction
This patch removes inheritence of MultiAffineFunction from IntegerPolyhedron and instead makes IntegerPolyhedron as a member.
This patch removes virtualization in MultiAffineFunction and also removes unnecessary functions inherited from IntegerPolyhedron.
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D123921
show more ...
|
| #
4ffd0b6f |
| 18-Apr-2022 |
Groverkss <[email protected]> |
[MLIR][Presburger] Make IntegerRelation::mergeLocalIds not delete duplicates
This patch modifies mergeLocalIds to not delete duplicate local ids in `this` relation. This allows the ordering of the f
[MLIR][Presburger] Make IntegerRelation::mergeLocalIds not delete duplicates
This patch modifies mergeLocalIds to not delete duplicate local ids in `this` relation. This allows the ordering of the final local ids for `this` to be determined more easily, which is generally required when other objects refer to these local ids.
Reviewed By: arjunp
Differential Revision: https://reviews.llvm.org/D123866
show more ...
|
| #
ef95a6e8 |
| 14-Apr-2022 |
Arjun P <[email protected]> |
[MLIR][Presburger] change some post-increments/decrements to pre-increments/decrements
|
| #
20aedb14 |
| 12-Apr-2022 |
Groverkss <[email protected]> |
[MLIR][Presburger] Remove inheritance from PresburgerSpace in IntegerRelation, PresburgerRelation and PWMAFunction
This patch removes inheritence from PresburgerSpace in IntegerRelation and instead
[MLIR][Presburger] Remove inheritance from PresburgerSpace in IntegerRelation, PresburgerRelation and PWMAFunction
This patch removes inheritence from PresburgerSpace in IntegerRelation and instead makes it a member of these classes.
This is required for three reasons: - It prevents implicit casting to PresburgerSpace. - Not all functions of PresburgerSpace need to be exposed by the deriving classes. - IntegerRelation and IntegerPolyhedron are defined in a PresburgerSpace. It makes more sense for the space to be a member instead of them inheriting from a space.
Reviewed By: arjunp, ftynse
Differential Revision: https://reviews.llvm.org/D123585
show more ...
|