[all-commits] [llvm/llvm-project] 24da7f: [MLIR][Presburger] Use Identifiers outside Presbur...
Bharathi Ramana Joshi via All-commits
all-commits at lists.llvm.org
Thu Apr 18 09:27:15 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 24da7fa029f999c0faf5c90de351237a273f385f
https://github.com/llvm/llvm-project/commit/24da7fa029f999c0faf5c90de351237a273f385f
Author: Bharathi Ramana Joshi <joshibharathiramana at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Analysis/FlatLinearValueConstraints.h
M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
M mlir/include/mlir/Analysis/Presburger/PresburgerSpace.h
M mlir/include/mlir/Dialect/Affine/Analysis/AffineAnalysis.h
M mlir/include/mlir/Dialect/Affine/Analysis/AffineStructures.h
M mlir/lib/Analysis/FlatLinearValueConstraints.cpp
M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
M mlir/lib/Analysis/Presburger/PresburgerSpace.cpp
M mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
M mlir/lib/Dialect/Affine/Analysis/AffineStructures.cpp
M mlir/unittests/Analysis/Presburger/IntegerRelationTest.cpp
M mlir/unittests/Analysis/Presburger/PresburgerSpaceTest.cpp
Log Message:
-----------
[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.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list