<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/61707>61707</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[MLIR]`-sparse-compiler` triggers Assertion Failure `tensorType && "unexpected non-tensor type"'
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
BealZephyr
</td>
</tr>
</table>
<pre>
Test on commit: https://github.com/llvm/llvm-project/commit/3245bcdd17dcf17388d13762ee175a47795b1692
steps to reproduce:
```
mlir-opt -sparse-compiler=enable-arm-sve=true test.mlir
```
test case:
```
func.func @select(%arg0: tensor<i1>, %arg1: tensor<i32>, %arg2: tensor<i32>) -> tensor<i32> {
%0 = arith.select %arg0, %arg1, %arg2 : tensor<i1>, tensor<i32>
return %0 : tensor<i32>
}
```
crash trace:
```
mlir-opt: /home/ty/llvm-project/mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp:645: mlir::FailureOr<mlir::Value> mlir::bufferization::getBuffer(mlir::RewriterBase&, mlir::Value, const mlir::bufferization::BufferizationOptions&): Assertion `tensorType && "unexpected non-tensor type"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /home/ty/llvm-project/build/bin/mlir-opt -sparse-compiler=enable-arm-sve=true test.mlir
#0 0x0000562cb91f62fa llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/ty/llvm-project/build/bin/mlir-opt+0x2282fa)
#1 0x0000562cb91f358c SignalHandler(int) Signals.cpp:0:0
#2 0x00007f8c447fa980 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12980)
#3 0x00007f8c434abe87 raise /build/glibc-CVJwZb/glibc-2.27/signal/../sysdeps/unix/sysv/linux/raise.c:51:0
#4 0x00007f8c434ad7f1 abort /build/glibc-CVJwZb/glibc-2.27/stdlib/abort.c:81:0
#5 0x00007f8c4349d3fa __assert_fail_base /build/glibc-CVJwZb/glibc-2.27/assert/assert.c:89:0
#6 0x00007f8c4349d472 (/lib/x86_64-linux-gnu/libc.so.6+0x30472)
#7 0x0000562cb949599e mlir::bufferization::getBuffer(mlir::RewriterBase&, mlir::Value, mlir::bufferization::BufferizationOptions const&) (/home/ty/llvm-project/build/bin/mlir-opt+0x4c799e)
#8 0x0000562cb93d4028 mlir::bufferization::detail::BufferizableOpInterfaceInterfaceTraits::FallbackModel<(anonymous namespace)::SelectOpInterface>::bufferize(mlir::bufferization::detail::BufferizableOpInterfaceInterfaceTraits::Concept const*, mlir::Operation*, mlir::RewriterBase&, mlir::bufferization::BufferizationOptions const&) BufferizableOpInterfaceImpl.cpp:0:0
#9 0x0000562cb94c7302 mlir::bufferization::bufferizeOp(mlir::Operation*, mlir::bufferization::BufferizationOptions const&, bool, mlir::bufferization::OpFilter const*, mlir::bufferization::BufferizationStatistics*) (/home/ty/llvm-project/build/bin/mlir-opt+0x4f9302)
#10 0x0000562cbaca9404 mlir::sparse_tensor::SparsificationAndBufferizationPass::runOnOperation() (/home/ty/llvm-project/build/bin/mlir-opt+0x1cdb404)
#11 0x0000562cbaaef08e mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/home/ty/llvm-project/build/bin/mlir-opt+0x1b2108e)
#12 0x0000562cbaaefee3 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (.constprop.510) Pass.cpp:0:0
#13 0x0000562cbaaf056d mlir::PassManager::run(mlir::Operation*) (/home/ty/llvm-project/build/bin/mlir-opt+0x1b2256d)
#14 0x0000562cbaae44e3 performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#15 0x0000562cbaae4bb1 processBuffer(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::MlirOptMainConfig const&, mlir::DialectRegistry&, llvm::ThreadPool*) MlirOptMain.cpp:0:0
#16 0x0000562cbaae4da1 mlir::LogicalResult llvm::function_ref<mlir::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::callback_fn<mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&)::'lambda'(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) MlirOptMain.cpp:0:0
#17 0x0000562cbabb16f0 mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, bool, bool) (/home/ty/llvm-project/build/bin/mlir-opt+0x1be36f0)
#18 0x0000562cbaadfec3 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (/home/ty/llvm-project/build/bin/mlir-opt+0x1b11ec3)
#19 0x0000562cbaae26ee mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&, bool) (/home/ty/llvm-project/build/bin/mlir-opt+0x1b146ee)
#20 0x0000562cb91c22f0 main (/home/ty/llvm-project/build/bin/mlir-opt+0x1f42f0)
#21 0x00007f8c4348ec87 __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:344:0
#22 0x0000562cb91d514a _start (/home/ty/llvm-project/build/bin/mlir-opt+0x20714a)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWUtv47oV_jXMhrBBUe9FFk4yRqeYIEES3MXdGBR1JLOXplSSmon76wtS8oPOYzyT6e1tgcS2-Drfd148pJgxolUAlyi9QunNBRvsutOXV8Dk79Cvt_qi6urt5RMYizuFebfZCIviBV5b2xsULxBdIrpshV0P1Zx3G0SXUn7dfc163f0DuEV0OU2ly5gmacXrOspr3kR5XBR1FOcZBYjylCV5XqZVlJUUkRtEFsZCb7DtsIZed_XAwQn1XdNnRqY__7iRQs-63uKZ6Zk2MOPdphcSNIpvQLFKwozpzcx8BRTfWD0AtmDs3E17dT3XizkzR2LDAc2g-Nx9YJQQA9KzLRBNmW6J05QFZTqN4msRofgTotd47IzCzpgGvfTV3hLPUPzptB2j_GoEg91sglF8g5kWdj0fAeEdnCPhB0n4dZSnwicBGuyg1U7OS4yjjvKbV5XFNTNrbDXjb-pzZ0C3NqLLdbcBRJd2-9KjvM3oUooK0eWNYKPql1dD04AW_2JWdArR5eeH48ZKwl3_WVnQDeMw532P4kWWpE6cXzBeoHixZEIOGu4cr0Prb0wO4PR9aKoCYb6pBTtKQ7Q4DHyAb1pY0FfOlWjmFHy6ML3GvFPGvr98QO-ud5_GL1g6CgtjQLs2jDIymuZp2wP2IzKMKB0UPPfALdRYdWo2jsF22wOiFNEcN0xIqOejNe6_fFo8fsJmqDbCYoaroXWR2GnrYvKHk4AwZgCD6BIzVWOhuBxqwHYNePSMivE_vHdM4h8t43_getj0e3chc0TKe921mm0w0-2wAWXN972lGoSs3bdQk-98KE1gRGOCyTMhhKQZ5VUZNRltGPbEvaXM1ow_7rVQ1lN58p5Pi8Mgzb6tOmM1sM3kFkJZF-g-ifw4IUSvyDOlBW2Yc4k91ugEa5wWHD-KVjH5N6Zq6d11Ej02myk4iP_fL0SnhfKm4EmSN6wsCF6tNBjbaVhpOyEfw_K5yFZZMpNCDc-zVg1jR2_XGlg9N92ceMARLQsS4I2PxcQJq6DIsWbCOF_ec2-lqPjs-re_f_u92j_SOc0RXRrPAtHlfO6etqaG3rneoMTz2PDVo1GDe_RLzzmKF2kUEk5OkNR5E2FWdZ7peUhsPWrDz_JCihMhaSikrOOG4dWK-XBeuZBcVex87uO8_Y9RZBmKzE5FJjk9w3bcWS3zVotJktPAanngZUmZliX857LlD-fJMb-O2fJDAZbwvCwhoF4E1OM6IbR4H2ENlgl5gjbcn_Y_njQT1uw2JyldorztapAovka0YKpT2003GKzYBkzvs0w5Dn_0JcDRom6XDjBBoPtfiPS6Uxx6u1P7IjTaXQ962qRPet41_8_Y-i3Qm16-nuXK0JF5HhP6Poa9Mu_6QJ1vs_xxIte46jr53VXu-qWQFvQbev-e3EfLrDBWcOOnfjBSmjImhyThdqJg22SclQlJjuCNG_JqV1d6F3ZNohHc41uoOsB7z8zkb3pQd-pI4cVH0Ue8rhKSBPCDnZQxaEhxnOOOY-Wuf-rueodvUbPe7ujoQQUu4gmcHx0LxeTWCHPLFGtd4jy4xaD8ca7-FUVEVNGIFBBwp6fcAeIf5n4vepBCwUmYuKF7StkvV8bxJCfqszJW--Kx0y9WDQccBcoO-z3ToOxn1XRHQeb1PffPve76eRq5mga7xV5mGafOOFRnQ9KsPkGx4_Wq44Rq-bC5aZrVgbmTE3MnCcS4B910erPg09Hj3WLW2HqK6jXTUK96645UhxmP3aA53LbaHauOE92B5O2Xzw_XnbLw_DKV3Uqh73p7y4S67lQj2iDrH_W-rv_0lF9VRbjXHQdj9lXJWfQGJf45wAt6t7Dp9Ha31NH4Gho2SLuqQYKFt-e4rfrT-ZyPx00n4gdohbF6O_Uf5Dz5GvzeB8viLHVlp-qqWXQk8EvXCs7kA5hB2iNBzaC8r6w0NMF5OpyAaPHnqfNto5b78ohPddaqUQHsIz39Bd3jdbOfGTLjEERzyTZVzZA7TPx1rEIL2an2z1XsO5C-HzDBcYhVVZQ1JKh0pLALVd-fZJz_Brv_wSB9d8ShDBi_P7o5Qpw1JNgcizAb1g3w-PU4-3_LEh9UZRQBjwNVlicbC80A3lTlVM3xNRvrtkXoCI9WC9U-QHMO4V_jG1GSQVAn05ObQU6pC3wm1MckNQkNnZBG4SVOAbzI8WolRcVXxjJtV5PUs66NuBl292XjT9_p1_FXSHGSBAmO0pBnnUYJw6Pgj11gkjxKDheY-1cEF_VlXJdxyS7gMsrysohJlCcX68s0zYs0JVFREKhLUgEULIp5WTWMkoIXF-KSEhqTmGZRRMs4mce8yZuUR4QWTVXkBUoIbJiQc4dy3un2wl9WX2ZRTvILySqQxr8lo1TBN-w7EaUovbnQl55ZNbQGJUQKY81hFSus9K_XXB2L0huUkRd3zhnBVou2BW2ObvCnlxA_f5N_MWh5-fN39J75vwMAAP__ESW7iA">