[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
parent
b08d35f8
Please register or sign in to comment