<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/128329>128329</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [MLIR]`-sparsification-and-bufferization` triggers Assertion Failure `succeeded( ConcreteT::verifyInvariants(getDefaultDiagnosticEmitFn(ctx), args...))'
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            mlir
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          xisang0
      </td>
    </tr>
</table>

<pre>
    Test on commit: https://github.com/llvm/llvm-project/commit/dca2ed31278c444f839e3e04fde0c21b62451d4a
steps to reproduce:
```
mlir-opt test.mlir --sparsification-and-bufferization
```
test case:
```
module {
 func.func @main(%arg0 : tensor<16x1x1x8x!quant.uniform<u8<1:255>:f32, 0.015680249780416489:128>>) -> (){
    return
  }
}
```
crash trace:
```
<unknown>:0: error: invalid memref element type
mlir-opt: /home/workdir/llvm-project-19/mlir/include/mlir/IR/StorageUniquerSupport.h:180: static ConcreteT mlir::detail::StorageUserBase<mlir::MemRefType, mlir::BaseMemRefType, mlir::detail::MemRefTypeStorage, mlir::detail::TypeUniquer, mlir::ShapedType::Trait>::get(MLIRContext *, Args &&...) [ConcreteT = mlir::MemRefType, BaseT = mlir::BaseMemRefType, StorageT = mlir::detail::MemRefTypeStorage, UniquerT = mlir::detail::TypeUniquer, Traits = <mlir::ShapedType::Trait>, Args = <llvm::ArrayRef<long> &, mlir::Type &, mlir::MemRefLayoutAttrInterface &, mlir::Attribute &>]: Assertion `succeeded( ConcreteT::verifyInvariants(getDefaultDiagnosticEmitFn(ctx), args...))' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: ./mlir-opt /home/workdir/test.mlir --sparsification-and-bufferization
 #0 0x00006041357b7258 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (./mlir-opt+0x10b5258)
 #1 0x00006041357b4d7e llvm::sys::RunSignalHandlers() (./mlir-opt+0x10b2d7e)
 #2 0x00006041357b7c68 SignalHandler(int) Signals.cpp:0:0
 #3 0x00007d081c283520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x00007d081c2d79fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #5 0x00007d081c283476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #6 0x00007d081c2697f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #7 0x00007d081c26971b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #8 0x00007d081c27ae96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #9 0x0000604138cd8497 (./mlir-opt+0x45d6497)
#10 0x0000604138cd839c mlir::MemRefType::get(llvm::ArrayRef<long>, mlir::Type, mlir::MemRefLayoutAttrInterface, mlir::Attribute) (./mlir-opt+0x45d639c)
#11 0x0000604135cbe78a mlir::bufferization::getMemRefTypeWithStaticIdentityLayout(mlir::TensorType, mlir::Attribute) (./mlir-opt+0x15bc78a)
#12 0x0000604135d2b179 mlir::bufferization::func_ext::getBufferizedFunctionArgType(mlir::func::FuncOp, long, mlir::bufferization::BufferizationOptions const&) FuncBufferizableOpInterfaceImpl.cpp:0:0
#13 0x0000604135d2a752 mlir::bufferization::func_ext::FuncOpInterface::bufferize(mlir::Operation*, mlir::RewriterBase&, mlir::bufferization::BufferizationOptions const&) const (./mlir-opt+0x1628752)
#14 0x0000604135d06d80 mlir::bufferization::bufferizeOp(mlir::Operation*, mlir::bufferization::BufferizationOptions const&, mlir::bufferization::BufferizationStatistics*) (./mlir-opt+0x1604d80)
#15 0x0000604135d41031 mlir::bufferization::bufferizeModuleOp(mlir::ModuleOp, mlir::bufferization::OneShotBufferizationOptions const&, mlir::bufferization::BufferizationStatistics*) (./mlir-opt+0x163f031)
#16 0x00006041377a8c0f mlir::sparse_tensor::SparsificationAndBufferizationPass::runDenseBufferization() (./mlir-opt+0x30a6c0f)
#17 0x00006041377a86db mlir::sparse_tensor::SparsificationAndBufferizationPass::runOnOperation() (./mlir-opt+0x30a66db)
#18 0x0000604138bacbcf mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (./mlir-opt+0x44aabcf)
#19 0x0000604138bad352 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (./mlir-opt+0x44ab352)
#20 0x0000604138bafade mlir::PassManager::run(mlir::Operation*) (./mlir-opt+0x44adade)
#21 0x0000604138ba862b performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#22 0x0000604138ba8283 llvm::LogicalResult llvm::function_ref<llvm::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&)::$_0>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) MlirOptMain.cpp:0:0
#23 0x0000604138c519e5 mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef) (./mlir-opt+0x454f9e5)
#24 0x0000604138ba1ee2 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (./mlir-opt+0x449fee2)
#25 0x0000604138ba2193 mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) (./mlir-opt+0x44a0193)
#26 0x0000604138ba23a2 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (./mlir-opt+0x44a03a2)
#27 0x0000604135796477 main (./mlir-opt+0x1094477)
#28 0x00007d081c26ad90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#29 0x00007d081c26ae40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#30 0x0000604135795fe5 _start (./mlir-opt+0x1093fe5)
Aborted (core dumped)
```

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzcWVtv4zzO_jXqjdBAlny86IV7CL4CU7Ro58NeBrJFO9pxZL-SPJPur1_ITupD47YZvPvuYTBIE5kin4ciKUrmxshSAVyh4BoFtxe8tdtaX-2l4aokF1ktXq--g7G4VjivdztpEUvx1trGIJYiukZ0XUq7bbNVXu8QXVfVz-Ofy0bXf4fcIro-TKVrkXMKgnk0inPf94uYJcCA-IUAklMvC6kfeMLniKTGQmOwrbGGRteizcFZJCkKyeE_SXeV1Jd1Y7EFY1fuF768NA3XRhYy51bW6pIrcZm1RQFa_qMbmelwU3HOzSn1tWgrwCi6RiTFRavylfvAyCc7LhWiMaIB1yXBzisWlKk1YjdeuPf23j7eI-r90XJlV62SRa13iN20sRNALKVBgNgdYmnBKKI3mKyIF4QxoX4SxcT3Qj9OEEs9Gndid4gm-BKxO9xZTQ6YMMYabKtV9wNFt45B_znikWtutthqfsqHDpT6oepfqsdDHBfQ2lFJsVQ_eSUF3sFOQ4Ghgh0oi-1rAyP_O0lE19t6B4iuf9X6h5B6FgaXXoLo2s1AdC1VXrUChoH7Z0TXL7bWvIT_V_KPFvRL2zS1tqutc0PcwTKWW5njm1rlGix8x91sliKWCrBcVv33ox4D-rpb2JtB7gF2z1B8d_jpzWi-E1x6NtY9yBysLIs6oQOXqdDLljcgOju9oOYuse76XyVYROOHb_fPN7WysLcY0dQpSHVpMKIhouFqtXIBgYLrwReI3eIlno7dXOI94wOjueCn9A8kP5o380XH2HTyk9VZ9Mwb_X5GV2Y6iVRr_voMhRusVdlnSDj1t9P3frSn8o2_1q1NrdX3yoIueH5C1D2WWWv7R-wOBbcuHFNjQLuSglFITJvnAAIEovEQof38n6Bl8XqvfnItubIG0bgEewsFbyt7K3mpamNlfreTdu3KSm73LsfpDea6NP1id_8jXHBZgVghkj59u0tf7rBps520mOOsLV2trLV1VfPsGi2NacEgusZcCXxIUGy3gPvykfH8R1dCnO0Xy_MfWLS7pi8oZIW7f0-6LjXfOditKxQOAV4d0ryr1KfKxJnVGyPKCCZ7QggJie-xIMoiGsR4iArzavovT1oq26H93pU_Gg9Cmv_a1MZq4LvDiktlu7Si8Rgzotdk75EsoEFXensE3gyBLyI4heC5VS-yVLz6P65EBdr0BXzJCBURDEbonGYexniiDtH4gLofNqu8aQ5lnBy0sIOWSJDYy2nMAkr6fWRdyQzR9T4ON6F_WUnV7i9L1fYP8pWpV2EHzKcBJQMsf6pQREmR48ZuNXCx-SGr6jztSZgU-aA9mMP1oxCXpqN3Lmw_CgfF4VRxmEQFwzxzGXOWWhpHBRvURu_UetnZCr1sUBhPFUYckvA8hSyBZEQ8GYdRnIvYT6KTAegHIvSTqJ_pgpzMZ7IkP73LjPauj6rz-8r8xaq8UJGXUskxYUk-MJnma55BFPORwmmROZIZ-P1N2u1L137cC1BW2tceI6LxiE7XAr4n9SlaL8jyKOYD2mniC5p5UfIxWteZbmBv37BfH2RArFuVO8FUlz22EWQ3rf_mpB4bB7xbqgmBE_aux0OPjfs0OK-VsV0xTbDT9yaUVfDYvK3l_a6pZnXKkWYz0jwK6DmkewZDxExmTWk_NqB7PX1vNTx5hl9a2kPnOG8EfscP3ffTqx7SOArosOr-1AEkFDH52PobO7dyX-J3PoVzZncp4noZ0xleiPaQ-CImA-9gytv3CPO-yPuhO6PN2A-Dn2B_VPCyre1f7wBWEOYNDgjHDogiHuekGBntmiLYHE-YXac86ZNSJSYonrg5tB-6VbegDEwef9CCMMLDnBQDtGgOLRTZnwbtUY0C9UNMocgGTPFkV8p4nuXFwsHjsflePzbOaCp4Y48YdasmEdOhmqfKchKlilevRpoHrnjZH2myuq7c31Z1Vyrio2bS9znP8pGTkxkhwSaV72uEnmQDlVTzQudE33CGfzrD8SRn6l4Zq7vmv9bvtE4FRjl0xP7ENSh7r4r6mH-LSeT7PGOj6knJzIkFFzCzfWRzMgamzlg0KriAwag3MxqHNMMN6KLWu7Tbdc0nhw5jxSGVtlyD2DRWT064L3Wrc3gotTvbni5Ko8uCdy5_qKR-bOwDl-qmVoUsJ5vT6On7DZnSOTkas9EZ51tdypxXz2Dayo7Gi0O_sdF957cwAdH4jXvb3Q284_4Au1q_9vVj4ivRn503AiqwsDzncHd2g5dXIHm7ecl5Vblj7qZQ0zujwUlfXct_OZ8B3a3kFeT2GUpprH59HxwfBUAvgqi_IZ3i-Nj7_UeszCfhyaaHk8BLIJhsTZW0qRJPus7BmCPWf0vQ_RemxIcS42cvVktVulPe0vDSEc0vEgiGWurPyo0HQE8H8v9aGi7sNUkBMNrggpl_qJewRf8cNud8y_ttOD130T4jt7hBEi9hA-hwDprx5UU9B_TvomN85NJoesGWhH4U4R2XauF-LvH9aLgeobObmpCL5MybNZqIZDgJ0WSuEHyCNxs3Z2Ms13ZzBHeOCfAHE_Or0yQoIMC98iXSrDimaZrV2oJwgnmtobsCBnFQPnqrdCGumEhYwi_gyot8Qj3mJ9HF9ir0BMk838sExJnnF1EEGcli8AQHInx2Ia8ooQGhlJKYxV60YkWcREHgJwXzqF8I5BPYcVmtXFysal1edFfXVx6NGU0uKp5BZboXmpT2b5coCm4v9FV34Z21pUE-qaSxZtBgpa26l6Cuk0LBLQrJ5zfRIcFWy7IEbUavAtZcVq2Gv-6VwEWrq6vfv-4_uO3nFf1nAAAA__9Ruy1q">