Created
          November 4, 2021 19:15 
        
      - 
      
 - 
        
Save bjacob/bc9ee671d880c05c3038cb49a0ad6c3c to your computer and use it in GitHub Desktop.  
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | 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(); | |
| } | |
| }; | 
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | 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