commit | 98dc86b191d12577365f4397fdbebb882406ca9a | [log] [tgz] |
---|---|---|
author | Bharathi Ramana Joshi <joshibharathiramana@gmail.com> | Thu Apr 18 21:56:53 2024 +0530 |
committer | Copybara-Service <copybara-worker@google.com> | Thu Apr 18 09:31:54 2024 -0700 |
tree | 03e649e8152f283804d7720eaa00a1d3d499b6c3 | |
parent | 38cab2135ae9b652b94addf730b9c7e004f150a3 [diff] |
[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. GitOrigin-RevId: 24da7fa029f999c0faf5c90de351237a273f385f
See https://mlir.llvm.org/ for more information.