Use reifyValueBound instead, which is more general not hard-coded to a specific list supported ops.
Also add a closedUB parameter to the ValueBoundsOpInterface API.
Depends On: D147769
Paths
| Differential D146356
[mlir][linalg] Remove `linalg::getUpperBoundForIndex` util ClosedPublic Authored by springerm on Mar 18 2023, 1:59 AM.
Details Summary Use reifyValueBound instead, which is more general not hard-coded to a specific list supported ops. Also add a closedUB parameter to the ValueBoundsOpInterface API. Depends On: D147769
Diff Detail
Event Timelinespringerm added a child revision: D146524: [mlir][Arith] ValueBoundsOpInterface: Reify with Arith ops.Mar 21 2023, 6:35 AM This revision is now accepted and ready to land.Apr 6 2023, 4:09 PM Comment Actions
I don't think you can mark it as NFC if it is dropping an API method Comment Actions This change cannot be landed yet. There are certain inputs where it triggers an assertion in FlatLinearValueConstraints.cpp: LLVM_DEBUG(llvm::dbgs() << "composition unimplemented for semi-affine maps\n"); Comment Actions
Actually, it can be landed. We have the same limitation in linalg::getUpperBoundForIndex. We just need better error handling: D147769 springerm edited parent revisions, added: D147769: [mlir][Interfaces] Better error handling for `addBound`; removed: D146306: [mlir][SCF] ValueBoundsOpInterface: Support `scf.for` results and iter_args.Apr 7 2023, 12:38 AM Closed by commit rGeabb6ccdc878: [mlir][linalg] Replace `getUpperBoundForIndex` implementation (authored by springerm). · Explain WhyApr 10 2023, 6:32 PM This revision was automatically updated to reflect the committed changes. springerm removed a child revision: D146524: [mlir][Arith] ValueBoundsOpInterface: Reify with Arith ops.Apr 10 2023, 7:50 PM
Revision Contents
Diff 509971 mlir/include/mlir/Dialect/Affine/Transforms/Transforms.h
mlir/include/mlir/Dialect/Linalg/Utils/Utils.h
mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
mlir/lib/Dialect/Affine/Transforms/ReifyValueBounds.cpp
mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
mlir/lib/Dialect/Linalg/Utils/Utils.cpp
mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
|