Could not tile NamedStructuredOp in linalg whith parallel Loop type

I come across this problem when I was trying to apply linal-tile pass (–linalg-tile=“tile-size=10,10 loop-type=parallel”). it fails for:

linalg.conv_2d  ins  (%T, %filter2d: tensor<?x?xf64>, tensor<?x?xf64>)
          outs (%Lap: tensor<?x?xf64>) -> tensor<?x?xf64>

with the following error assertion :

mlir-opt: /home/moessadk/Workspace/MLIR/llvm-project/mlir/lib/Dialect/Linalg/Utils/Utils.cpp:556: static void mlir::linalg::GenerateLoopNest<mlir::scf::ParallelOp>::doit(mlir::OpBuilder &, mlir::Location, ArrayRef<mlir::Range>, mlir::linalg::LinalgOp, ArrayRef<mlir::Attribute>, function_ref<scf::ValueVector (mlir::OpBuilder &, mlir::Location, mlir::ValueRange, mlir::ValueRange)>, Optional<mlir::linalg::LinalgLoopDistributionOptions>, ArrayRef<llvm::StringRef>) [LoopTy = mlir::scf::ParallelOp]: Assertion `iterArgInitValues.empty() && "unexpected ParallelOp init values"' failed.
PLEASE submit a bug report to and include the crash backtrace.
Stack dump:

I think that the problem is because we do not decalare iterator_types!!

I also tested other NamedStructuredOp using tensors as operand and I get the same error.
But if I bufferize before tiling the problem does not occur.

@nicolasvasilache @ftynse

Tensor semantics is poorly compatible with scf.parallel so tiling structured ops on tensors to such loops is not supported. There is an experimental out-of-tree tensor-friendly modeling of parallel loops here