[all-commits] [llvm/llvm-project] ebaf8d: [mlir][affine] ValueBoundsConstraintSet: Fully com...

Matthias Springer via All-commits all-commits at lists.llvm.org
Thu Oct 12 18:17:51 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ebaf8d4949830fd4b0a2f6df7aae8eccd39042e4
      https://github.com/llvm/llvm-project/commit/ebaf8d4949830fd4b0a2f6df7aae8eccd39042e4
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-10-12 (Thu, 12 Oct 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.h
    M mlir/lib/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.cpp
    M mlir/test/Dialect/Affine/value-bounds-op-interface-impl.mlir
    M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp

  Log Message:
  -----------
  [mlir][affine] ValueBoundsConstraintSet: Fully compose affine.apply (#68899)

Fully compose `affine.apply` ops before adding them to the underlying
`FlatLinearConstraints`. This works around a limitation of
`FlatLinearConstraints`, which cannot deduce a constant bound if it
involves two identical local variables.

Details for future improvements of `FlatLinearConstraints`: The
constraint set infrastructure fails to compute a constant bound of -8
for the first variable.
```
Domain: 0, Range: 1, Symbols: 4, Locals: 2
8 constraints
(None    None    None    None    None    Local    Local    const)
 1    -1    0    0    0    0    0    0    = 0
 0    1    -1    1    0    0    0    0    = 0
 0    0    1    0    0    0    -16    0    = 0
 0    0    0    1    0    -16    0    -8    = 0
 0    0    0    0    -1    0    32    31    >= 0
 0    0    0    0    1    0    -32    0    >= 0
 0    0    0    0    -1    32    0    31    >= 0
 0    0    0    0    1    -32    0    0    >= 0
```




More information about the All-commits mailing list