|
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 |
|
| #
ff804146 |
| 01-Jan-2024 |
Bharathi Ramana Joshi <joshibharathiramana@gmail.com> |
[MLIR][Presburger] Implement PresburgerSpace::mergeAndAlignSymbols (#76397)
|
| #
b8e4053c |
| 31-Dec-2023 |
Bharathi Ramana Joshi <joshibharathiramana@gmail.com> |
[MLIR][Presburger] Fix bug in Identifier::isEqual assert (#76380)
Make identifiers::isEqual return false instead of failing assertion when
identifiers are not equal.
|
|
Revision tags: llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2 |
|
| #
7ce800ba |
| 25-Sep-2023 |
Kunwar Grover <51270680+Groverkss@users.noreply.github.com> |
[MLIR][Presburger] Fix bug in PresburgerSpace::convertVarKind (#67267)
This patch fixes a bug in PresburgerSpace::convertVarKind where the
identifiers were not moved properly due to offset being in
[MLIR][Presburger] Fix bug in PresburgerSpace::convertVarKind (#67267)
This patch fixes a bug in PresburgerSpace::convertVarKind where the
identifiers were not moved properly due to offset being invalidated.
show more ...
|
|
Revision tags: llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4 |
|
| #
d222b690 |
| 05-Sep-2023 |
Groverkss <groverkss@gmail.com> |
[MLIR][Presburger] Add Identifier class to store identifiers and their type
This patch adds a new class Identifier to store identifiers in PresburgerSpace and their types.
Identifiers were added ea
[MLIR][Presburger] Add Identifier class to store identifiers and their type
This patch adds a new class Identifier to store identifiers in PresburgerSpace and their types.
Identifiers were added earlier and were stored as a void pointer, and their type in the form of mlir::TypeId in PresburgerSpace. To get an identifier, a user of PresburgerSpace needed to know the type of identifiers. This was a problem for users of PresburgerSpace like IntegerRelation, which want to work on identifiers without knowing their type.
The Identifier class allows users like IntegerRelation to work on identifiers without knowing their type, and also exposes an easier way to work with Identifiers.
Reviewed By: arjunp
Differential Revision: https://reviews.llvm.org/D146909
show more ...
|
|
Revision tags: 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, working, 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 |
|
| #
ed3b040b |
| 05-Jul-2022 |
Groverkss <groverkss@gmail.com> |
[MLIR][Presburger] Rename attachments to identifiers in PresburgerSpace
"attachment" was a temporary name chosen for the information attached to a variable in a PresburgerSpace. After the disambigua
[MLIR][Presburger] Rename attachments to identifiers in PresburgerSpace
"attachment" was a temporary name chosen for the information attached to a variable in a PresburgerSpace. After the disambiguation of "variables" and "identifiers" in PresburgerSpace, we use the word "identifiers" for this information, since this information is used to "identify" these variables.
Reviewed By: arjunp
Differential Revision: https://reviews.llvm.org/D128751
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 |
|
| #
87b8b377 |
| 14-Jun-2022 |
Groverkss <groverkss@gmail.com> |
[MLIR][Presburger] Fix spellings of attachment
|
| #
127780e5 |
| 14-Jun-2022 |
Groverkss <groverkss@gmail.com> |
[MLIR][Presburger] Add values to PresburgerSpace
This patch allows attaching user information, called "values" to each identifier. The values are used to carry information along with variables and a
[MLIR][Presburger] Add values to PresburgerSpace
This patch allows attaching user information, called "values" to each identifier. The values are used to carry information along with variables and are also used to determine if two variables are identical.
This patch is part of a series of patches to allow attaching user information with variables in Presburger library.
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D127347
show more ...
|
|
Revision tags: llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
| #
a5a598be |
| 01-Apr-2022 |
Groverkss <groverkss@gmail.com> |
[MLIR][Presburger] Use PresburgerSpace in constructors
This patch modifies IntegerPolyhedron, IntegerRelation, PresburgerRelation, PresburgerSet, PWMAFunction, constructors to take PresburgerSpace i
[MLIR][Presburger] Use PresburgerSpace in constructors
This patch modifies IntegerPolyhedron, IntegerRelation, PresburgerRelation, PresburgerSet, PWMAFunction, constructors to take PresburgerSpace instead of dimensions. This allows information present in PresburgerSpace to be carried better and allows for a general interface.
Reviewed By: arjunp
Differential Revision: https://reviews.llvm.org/D122842
show more ...
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3 |
|
| #
58966dd4 |
| 10-Mar-2022 |
Groverkss <groverkss@gmail.com> |
[MLIR][Presburger] Remove `spaceKind` from PresburgerSpace
This patch remove `spaceKind` from PresburgerSpace, making PresburgerSpace only a space supporting relations.
Sets are still implemented i
[MLIR][Presburger] Remove `spaceKind` from PresburgerSpace
This patch remove `spaceKind` from PresburgerSpace, making PresburgerSpace only a space supporting relations.
Sets are still implemented in the same way, i.e. with a zero domain but instead the asserts to check if the space is still set are added to users of PresburgerSpace which treat it as a Set space.
Reviewed By: arjunp
Differential Revision: https://reviews.llvm.org/D121357
show more ...
|
| #
c896e654 |
| 10-Mar-2022 |
Groverkss <groverkss@gmail.com> |
[MLIR][Presburger] Use IdKind for removeIdRange in PresburgerSpace
This patch moves PresburgerSpace::removeIdRange(idStart, idLimit) to PresburgerSpace::removeIdRange(kind, idStart, idLimit), i.e. i
[MLIR][Presburger] Use IdKind for removeIdRange in PresburgerSpace
This patch moves PresburgerSpace::removeIdRange(idStart, idLimit) to PresburgerSpace::removeIdRange(kind, idStart, idLimit), i.e. identifiers can only be removed at once for a single kind.
This makes users of PresburgerSpace to not assume any inside ordering of identifier kinds.
Reviewed By: arjunp
Differential Revision: https://reviews.llvm.org/D121079
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc2 |
|
| #
3001d467 |
| 26-Feb-2022 |
Groverkss <groverkss@gmail.com> |
[MLIR][Presburger] Move IdKind specific insert/append
This patch moves identifier kind specific insert/append functions like `insertDimId`, `appendSymbolId`, etc. from IntegerPolyhedron to FlatAffin
[MLIR][Presburger] Move IdKind specific insert/append
This patch moves identifier kind specific insert/append functions like `insertDimId`, `appendSymbolId`, etc. from IntegerPolyhedron to FlatAffineConstraints.
This change allows for a smoother transition to IntegerRelation.
This change is part of a series of patches to introduce Relations in Presburger library.
Reviewed By: arjunp
Differential Revision: https://reviews.llvm.org/D120576
show more ...
|
| #
0c1f6865 |
| 25-Feb-2022 |
Groverkss <groverkss@gmail.com> |
[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 ...
|
| #
eae62b22 |
| 18-Feb-2022 |
Groverkss <groverkss@gmail.com> |
[mlir][Presburger] Introduce Domain and Range identifiers in PresburgerSpace
This patch introducing seperating dimensions into two types: Domain and Range. This allows building relations over Presbu
[mlir][Presburger] Introduce Domain and Range identifiers in PresburgerSpace
This patch introducing seperating dimensions into two types: Domain and Range. This allows building relations over PresburgerSpace.
This patch is part of a series of patches to introduce relations in Presburger library.
Reviewed By: arjunp
Differential Revision: https://reviews.llvm.org/D119709
show more ...
|