[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