[all-commits] [llvm/llvm-project] 5b0055: [mlir][Analysis][NFC] Split FlatAffineValueConstra...
Matthias Springer via All-commits
all-commits at lists.llvm.org
Thu Mar 23 01:39:32 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 5b0055a4ae8d27bf2a8db903eed22ff642fc27c3
https://github.com/llvm/llvm-project/commit/5b0055a4ae8d27bf2a8db903eed22ff642fc27c3
Author: Matthias Springer <me at m-sp.org>
Date: 2023-03-23 (Thu, 23 Mar 2023)
Changed paths:
M mlir/docs/Rationale/UsageOfConst.md
A mlir/include/mlir/Analysis/FlatLinearValueConstraints.h
M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
M mlir/include/mlir/Dialect/Affine/Analysis/AffineStructures.h
M mlir/include/mlir/IR/AffineExprVisitor.h
M mlir/include/mlir/IR/IntegerSet.h
M mlir/lib/Analysis/CMakeLists.txt
A mlir/lib/Analysis/FlatLinearValueConstraints.cpp
M mlir/lib/Dialect/Affine/Analysis/AffineStructures.cpp
M mlir/lib/IR/AffineExpr.cpp
M mlir/lib/IR/AffineMap.cpp
M mlir/test/Transforms/memref-bound-check.mlir
M mlir/test/Transforms/memref-dependence-check.mlir
Log Message:
-----------
[mlir][Analysis][NFC] Split FlatAffineValueConstraints into multiple classes
The new class hierarchy is as follows:
* `IntegerRelation` (no change)
* `IntegerPolyhedron` (no change)
* `FlatLinearConstraints`: provides an AffineExpr-based API
* `FlatLinearValueConstraints`: stores an additional mapping of non-local vars to SSA values
* `FlatAffineValueConstraints`: provides additional helper functions for Affine dialect ops
* `FlatAffineRelation` (no change)
`FlatConstraints` and `FlatValueConstraints` are moved from `MLIRAffineAnalysis` to `MLIRAnalysis` and can be used without depending on the Affine dialect.
This change is in preparation of D145681, which adds an MLIR interface that depends on `FlatConstraints` (and cannot depend on the Affine dialect or any other dialect).
Differential Revision: https://reviews.llvm.org/D146201
More information about the All-commits
mailing list