History log of /llvm-project/mlir/unittests/Analysis/Presburger/PresburgerSpaceTest.cpp (Results 1 – 15 of 15)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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 ...