Skip to content

Instantly share code, notes, and snippets.

@bjacob
Created November 4, 2021 19:15
Show Gist options
  • Save bjacob/bc9ee671d880c05c3038cb49a0ad6c3c to your computer and use it in GitHub Desktop.
Save bjacob/bc9ee671d880c05c3038cb49a0ad6c3c to your computer and use it in GitHub Desktop.
diff --git a/iree/compiler/Dialect/Flow/Transforms/PadTensorToSubTensorInsert.cpp b/iree/compiler/Dialect/Flow/Transforms/PadTensorToSubTensorInsert.cpp
index 7f3ad376e..362d4df27 100644
--- a/iree/compiler/Dialect/Flow/Transforms/PadTensorToSubTensorInsert.cpp
+++ b/iree/compiler/Dialect/Flow/Transforms/PadTensorToSubTensorInsert.cpp
@@ -90,8 +90,10 @@ struct PadTensorOpConversion : public OpRewritePattern<linalg::PadTensorOp> {
Value fill =
rewriter.create<linalg::FillOp>(loc, yieldVal, initTensor).getResult(0);
SmallVector<OpFoldResult> strides(rank, rewriter.getI64IntegerAttr(1));
- rewriter.replaceOpWithNewOp<tensor::InsertSliceOp>(
- padTensorOp, source, fill, lowPad, sourceShape, strides);
+ Value slice = rewriter.create<tensor::InsertSliceOp>(
+ loc, source, fill, lowPad, sourceShape, strides);
+ rewriter.replaceOpWithNewOp<tensor::CastOp>(
+ padTensorOp, padTensorOp.result().getType(), slice);
return success();
}
};
FAILED: iree/test/e2e/regression/e2e_matmul_mmt4d_f32_large_dylib-llvm-aot_dylib.vmfb /usr/local/google/home/benoitjacob/iree-build-linux/iree/test/e2e/regression/e2e_matmul_mmt4d_f32_large_dylib-llvm-aot_dylib.vmfb
cd /usr/local/google/home/benoitjacob/iree-build-linux/iree/test/e2e/regression && /usr/local/google/home/benoitjacob/iree-build-linux/iree/tools/iree-translate -iree-mlir-to-vm-bytecode-module -mlir-print-op-on-diagnostic=false --iree-hal-target-backends=dylib-llvm-aot /usr/local/google/home/benoitjacob/iree-build-linux/iree/test/e2e/regression/e2e_matmul_mmt4d_f32_large_dylib-llvm-aot_dylib_module.opt.mlir -o /usr/local/google/home/benoitjacob/iree-build-linux/iree/test/e2e/regression/e2e_matmul_mmt4d_f32_large_dylib-llvm-aot_dylib.vmfb -iree-llvm-embedded-linker-path="/usr/local/google/home/benoitjacob/iree-build-linux/third_party/llvm-project/llvm/bin/lld"
/usr/local/google/home/benoitjacob/iree-build-linux/iree/test/e2e/regression/e2e_matmul_mmt4d_f32_large_dylib-llvm-aot_dylib_module.opt.mlir:107:10: error: failed to legalize operation 'tensor.cast' that was explicitly marked illegal
%9 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3 : tensor<?x8x?x1xf32>) outs(%8 : tensor<?x?x?x?xf32>) {
^
/usr/local/google/home/benoitjacob/iree-build-linux/iree/test/e2e/regression/e2e_matmul_mmt4d_f32_large_dylib-llvm-aot_dylib_module.opt.mlir:80:3: note: called from
func @matmul_256x256xf32_times_256x512xf32_into_256x512xf32(%arg0: tensor<256x256xf32>, %arg1: tensor<256x512xf32>, %arg2: tensor<256x512xf32>) -> tensor<256x512xf32> {
^
/usr/local/google/home/benoitjacob/iree-build-linux/iree/test/e2e/regression/e2e_matmul_mmt4d_f32_large_dylib-llvm-aot_dylib_module.opt.mlir:4:1: error: conversion from source -> vm failed
module {
^
/usr/local/google/home/benoitjacob/iree-build-linux/iree/test/e2e/regression/e2e_matmul_mmt4d_f32_large_dylib-llvm-aot_dylib_module.opt.mlir:40:11: error: 'affine.apply' op operation destroyed but still has uses
%19 = linalg.tensor_expand_shape %4 [[0, 1], [2, 3]] : tensor<?x?xf32> into tensor<?x8x?x1xf32>
^
/usr/local/google/home/benoitjacob/iree-build-linux/iree/test/e2e/regression/e2e_matmul_mmt4d_f32_large_dylib-llvm-aot_dylib_module.opt.mlir:5:3: note: called from
func @matmul_DYNxDYNxf32_times_DYNxDYNxf32_into_DYNxDYNxf32(%arg0: tensor<?x?xf32>, %arg1: tensor<?x?xf32>, %arg2: tensor<?x?xf32>) -> tensor<?x?xf32> {
^
/usr/local/google/home/benoitjacob/iree-build-linux/iree/test/e2e/regression/e2e_matmul_mmt4d_f32_large_dylib-llvm-aot_dylib_module.opt.mlir:64:11: note: - use: %0 = affine.apply affine_map<()[s0] -> (s0 ceildiv 48)>()[<<UNKNOWN SSA VALUE>>]
%34 = linalg.mmt4d ins(%25, %29 : tensor<?x?x?x?xf32>, tensor<?x?x?x?xf32>) outs(%33 : tensor<?x?x?x?xf32>) -> tensor<?x?x?x?xf32>
^
/usr/local/google/home/benoitjacob/iree-build-linux/iree/test/e2e/regression/e2e_matmul_mmt4d_f32_large_dylib-llvm-aot_dylib_module.opt.mlir:46:11: note: - use: %0 = affine.apply affine_map<()[s0] -> (s0 ceildiv 64)>()[<<UNKNOWN SSA VALUE>>]
%25 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%19 : tensor<?x8x?x1xf32>) outs(%24 : tensor<?x?x?x?xf32>) {
^
LLVM ERROR: operation destroyed but still has uses
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment