In Toy example of MLIR, ConstantOp lowering is done as follows.
%c0_47 = constant 0 : index %cst_48 = constant 1.000000e+00 : f32 affine.store %cst_48, %57[%c0_47] : memref<2xf32> %c1_49 = constant 1 : index %cst_50 = constant 1.000000e+00 : f32 affine.store %cst_50, %57[%c1_49] : memref<2xf32>
This strategy becomes extremely slow (in terms of compile time) as the size of constant increases.
Therefore, I used memref::TensorStoreOp to lower tensor to memref as follows.
%cst_38 = constant dense<"0x35FAE73C2387E43CEB1FCF3C764...(skipped)...B86BC0D289A3C"> : tensor<256x128x3x3xf32> memref.tensor_store %cst_38, %60 : memref<256x128x3x3xf32>
However, there is no lowering passes provided by MLIR project, which lowers memref::TensorStoreOp to operators of LLVM Dialect.
Do you recommend me to lower memref::TensorStoreOp to LLVM::*Ops,
or other strategy to lower large tensor to memref type?