[Mlir-commits] [mlir] e6112b6 - [mlir][Linalg] NFC - fail gracefully instead of asserting in HoistPadding

Nicolas Vasilache llvmlistbot at llvm.org
Fri May 12 01:18:46 PDT 2023


Author: Nicolas Vasilache
Date: 2023-05-12T01:14:02-07:00
New Revision: e6112b6108796f62c30e222804dbf44120e438d2

URL: https://github.com/llvm/llvm-project/commit/e6112b6108796f62c30e222804dbf44120e438d2
DIFF: https://github.com/llvm/llvm-project/commit/e6112b6108796f62c30e222804dbf44120e438d2.diff

LOG: [mlir][Linalg] NFC - fail gracefully instead of asserting in HoistPadding

Added: 
    

Modified: 
    mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp

Removed: 
    


################################################################################
diff  --git a/mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp b/mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
index 1ee594163b361..251f7d8575f75 100644
--- a/mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
+++ b/mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
@@ -535,7 +535,7 @@ static Value buildLoopIterationCount(RewriterBase &rewriter, scf::ForOp outer,
 //   3. At the innermost loop level, create a InsertSliceOp.
 //   4. Iteratively pop and yield the result of the InsertSliceOp across the
 //      cloned loops.
-static PackingResult buildPackingLoopNestImpl(
+static FailureOr<PackingResult> buildPackingLoopNestImpl(
     RewriterBase &rewriter, IRMapping &bvm, tensor::PadOp opToHoist,
     ArrayRef<int64_t> transposeVector, RankedTensorType transposedTensorType,
     tensor::EmptyOp emptyOp, const HoistPaddingAnalysis &analysis) {
@@ -621,7 +621,8 @@ static PackingResult buildPackingLoopNestImpl(
   sizes = SmallVector<OpFoldResult>(nPackedLoops, rewriter.getIndexAttr(1));
   for (int64_t sz : transposedTensorType.getShape()) {
     // TODO: go grab dims when needed, atm tensor::PadOp yields a static tensor.
-    assert(!ShapedType::isDynamic(sz) && "padded tensor needs static sizes");
+    if (ShapedType::isDynamic(sz))
+      return failure();
     sizes.push_back(rewriter.getIndexAttr(sz));
   }
   // strides = [1 .. 1].


        


More information about the Mlir-commits mailing list