[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