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

    <tr>
        <th>Summary</th>
        <td>
            [MLIR]Crashed with '<unknown> error' on `-affine-super-vectorize` pass
        </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/22c0ce96912f55f48ba4535800bacc0c48fe9832
The same crash occurred in [llvm16](https://github.com/llvm/llvm-project/tree/release/16.x)

steps to reproduce:
```
mlir-opt test.mlir -affine-super-vectorize="virtual-vector-size=4,8"
```
test case:
```
func.func @vector_loop(%a : memref<10x20xf32>, %b : memref<10x20xf32>,
                  %c : memref<10x20xf32>) {
 affine.for %j = 0 to 10 {
    affine.for %i = 0 to 5 {
      %ld0 = affine.vector_load %a[%j, %i*4] : memref<10x20xf32>, vector<4xf32>
 affine.vector_store %ld0, %b[%j, %i*4] : memref<10x20xf32>, vector<4xf32>
 }
  }
  return
}
```
crash trace:
```
<unknown>:0: error: vector elements must be int/index/float type but got 'vector<4xf32>'
mlir-opt: /home/verify/llvm-project-22c0ce96912f55f48ba4535800bacc0c48fe9832/mlir/include/mlir/IR/StorageUniquerSupport.h:174: static ConcreteT mlir::detail::StorageUserBase<ConcreteT, BaseT, StorageT, UniquerT, Traits>::get(mlir::MLIRContext*, Args ...) [with Args = {llvm::ArrayRef<long int>, mlir::Type, unsigned int}; ConcreteT = mlir::VectorType; BaseT = mlir::Type; StorageT = mlir::detail::VectorTypeStorage; UniquerT = mlir::detail::TypeUniquer; Traits = {mlir::ShapedType::Trait}]: Assertion `succeeded(ConcreteT::verify(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: llvm-project-22c0ce96912f55f48ba4535800bacc0c48fe9832/build/bin/mlir-opt test.mlir -affine-super-vectorize=virtual-vector-size=4,8
 #0 0x00005569433c4aaa llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (llvm-project-22c0ce96912f55f48ba4535800bacc0c48fe9832/build/bin/mlir-opt+0x221aaa)
 #1 0x00005569433c1fac SignalHandler(int) Signals.cpp:0:0
 #2 0x00007f828c82c980 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12980)
 #3 0x00007f828b924e87 raise /build/glibc-CVJwZb/glibc-2.27/signal/../sysdeps/unix/sysv/linux/raise.c:51:0
 #4 0x00007f828b9267f1 abort /build/glibc-CVJwZb/glibc-2.27/stdlib/abort.c:81:0
 #5 0x00007f828b9163fa __assert_fail_base /build/glibc-CVJwZb/glibc-2.27/assert/assert.c:89:0
 #6 0x00007f828b916472 (/lib/x86_64-linux-gnu/libc.so.6+0x30472)
 #7 0x0000556944dab9cd mlir::VectorType mlir::detail::StorageUserBase<mlir::VectorType, mlir::Type, mlir::detail::VectorTypeStorage, mlir::detail::TypeUniquer, mlir::ShapedType::Trait>::get<llvm::ArrayRef<long>, mlir::Type, unsigned int>(mlir::MLIRContext*, llvm::ArrayRef<long>, mlir::Type, unsigned int) (llvm-project-22c0ce96912f55f48ba4535800bacc0c48fe9832/build/bin/mlir-opt+0x1c089cd)
 #8 0x0000556944daba16 mlir::VectorType::get(llvm::ArrayRef<long>, mlir::Type, unsigned int) (llvm-project-22c0ce96912f55f48ba4535800bacc0c48fe9832/build/bin/mlir-opt+0x1c08a16)
 #9 0x00005569434a6b91 widenOp(mlir::Operation*, (anonymous namespace)::VectorizationState&) SuperVectorize.cpp:0:0
#10 0x00005569434a76e8 mlir::WalkResult llvm::function_ref<mlir::WalkResult (mlir::Operation*)>::callback_fn<vectorizeLoopNest(std::vector<llvm::SmallVector<mlir::AffineForOp, 2u>, std::allocator<llvm::SmallVector<mlir::AffineForOp, 2u>>>&, mlir::VectorizationStrategy const&)::'lambda'(mlir::Operation*)>(long, mlir::Operation*) SuperVectorize.cpp:0:0
#11 0x000055694349fc0b mlir::WalkResult mlir::detail::walk<mlir::ForwardIterator>(mlir::Operation*, llvm::function_ref<mlir::WalkResult (mlir::Operation*)>, mlir::WalkOrder) (llvm-project-22c0ce96912f55f48ba4535800bacc0c48fe9832/build/bin/mlir-opt+0x2fcc0b)
#12 0x000055694349fcac mlir::WalkResult mlir::detail::walk<mlir::ForwardIterator>(mlir::Operation*, llvm::function_ref<mlir::WalkResult (mlir::Operation*)>, mlir::WalkOrder) (llvm-project-22c0ce96912f55f48ba4535800bacc0c48fe9832/build/bin/mlir-opt+0x2fccac)
#13 0x000055694349fcac mlir::WalkResult mlir::detail::walk<mlir::ForwardIterator>(mlir::Operation*, llvm::function_ref<mlir::WalkResult (mlir::Operation*)>, mlir::WalkOrder) (llvm-project-22c0ce96912f55f48ba4535800bacc0c48fe9832/build/bin/mlir-opt+0x2fccac)
#14 0x00005569434a13a3 vectorizeLoopNest(std::vector<llvm::SmallVector<mlir::AffineForOp, 2u>, std::allocator<llvm::SmallVector<mlir::AffineForOp, 2u>>>&, mlir::VectorizationStrategy const&) SuperVectorize.cpp:0:0
#15 0x00005569434a8adf vectorizeLoops(mlir::Operation*, llvm::DenseSet<mlir::Operation*, llvm::DenseMapInfo<mlir::Operation*, void>>&, llvm::ArrayRef<long>, llvm::ArrayRef<long>, llvm::DenseMap<mlir::Operation*, llvm::SmallVector<mlir::LoopReduction, 2u>, llvm::DenseMapInfo<mlir::Operation*, void>, llvm::detail::DenseMapPair<mlir::Operation*, llvm::SmallVector<mlir::LoopReduction, 2u>>> const&) SuperVectorize.cpp:0:0
#16 0x00005569434a9a29 (anonymous namespace)::Vectorize::runOnOperation() SuperVectorize.cpp:0:0
#17 0x0000556944c6ee59 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (llvm-project-22c0ce96912f55f48ba4535800bacc0c48fe9832/build/bin/mlir-opt+0x1acbe59)
#18 0x0000556944c6f17a mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (llvm-project-22c0ce96912f55f48ba4535800bacc0c48fe9832/build/bin/mlir-opt+0x1acc17a)
#19 0x0000556944c6f4f8 mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::'lambda'(mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo&)::operator()(mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo&) const Pass.cpp:0:0
#20 0x0000556944c6e635 mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool) (llvm-project-22c0ce96912f55f48ba4535800bacc0c48fe9832/build/bin/mlir-opt+0x1acb635)
#21 0x0000556944c6edca mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (llvm-project-22c0ce96912f55f48ba4535800bacc0c48fe9832/build/bin/mlir-opt+0x1acbdca)
#22 0x0000556944c6fcb3 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (.constprop.495) Pass.cpp:0:0
#23 0x0000556944c7039d mlir::PassManager::run(mlir::Operation*) (llvm-project-22c0ce96912f55f48ba4535800bacc0c48fe9832/build/bin/mlir-opt+0x1acd39d)
#24 0x0000556944c633a3 performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#25 0x0000556944c63ad9 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
#26 0x0000556944c63e01 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
#27 0x0000556944d289b0 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) (llvm-project-22c0ce96912f55f48ba4535800bacc0c48fe9832/build/bin/mlir-opt+0x1b859b0)
#28 0x0000556944c60ae3 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (llvm-project-22c0ce96912f55f48ba4535800bacc0c48fe9832/build/bin/mlir-opt+0x1abdae3)
#29 0x0000556944c641e8 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&, bool) (llvm-project-22c0ce96912f55f48ba4535800bacc0c48fe9832/build/bin/mlir-opt+0x1ac11e8)
#30 0x0000556943390ec0 main (llvm-project-22c0ce96912f55f48ba4535800bacc0c48fe9832/build/bin/mlir-opt+0x1edec0)
#31 0x00007f828b907c87 __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:344:0
#32 0x00005569433a3b5a _start (llvm-project-22c0ce96912f55f48ba4535800bacc0c48fe9832/build/bin/mlir-opt+0x200b5a)
Aborted (core dumped)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWltz2ziy_jXwC8oqEOD1wQ-yFNXJqcmxK_aZrZoXFQg2JUwogguAsT2_fgsgJZG07Cgz9mxmd1KqmJdudPfXV5LgxshNDXCFomsULS94a7dKX10Dr36BZvukL3JVPF3dg7FY1Vio3U5axOZ4a21jEJsjukJ0tZF22-YzoXaIrqrq6_7PZaPVryAsoquela4oFURAFmcBLaOoDNOchxGLUkJyLgQRYVpCljKKyBKR-f0WsOE7wEJzs8VKiFZrKLCsMYqunYwgRtES0fS7NbIaANGVhgq4cUdBPHtENOsEd_8bC43BVmENjVZFK8BJ6Ahi0v_86a6S-lI1FlswdubO8CUvS1nDpWkb0JdfQVil5W-A2BJR-lVq2_Kqv3xpuhshoosUUXpShFsZC6frCzqUbS1m7j-MQtItvK6UahBNEY04do7bwU5DidgiII-UPJaMIvYB0QVGNMpfpehk4Gf_EI3Ea4wZRsl1z9whMiuVdmy_YsSWmDh8AzKgwnhCKI-E0ZjOi68K4gl6poPlvHB3uYttGv3aGykRnYcoWr6ORrcGYotwf3FkQC_CWKWh12CP4VtKQ8lyb-rgUINtdd1HwP7yJBS6dLGavxyxiC3a-kutHmonkM2JUxG0dorMe5UwVLCD2hq8a43FOWBZu9yRdQGPiK7KSnGL7VMDOG8t3iiLEU2em0OTcZY4CYiutmrnEu8raFk-TTL08uxCQVduWa-VqNoCjhc-fkZ0dWeV5hv4_1r-swV91zaN0na2RWweJKFTxFhupcALVQsNFu6x52ZzxOYFWC6r7ni_jgF97ZNwceBwPnTX_EFP5497of74XnNpTYc1YvMNWETTo6hPP338vFC1hUeL6NwxzPXG4Nls5lMoun6Qdttdc7GOEl_9Ot651vzpsw-tStUb76Quso7r3z814K60tS_5hSdKlohdDyx3Kx9ZfvZ-9IzsujNwQrG_t7d5cnsI33Gxntjx7fF5hc9x9GSOo0NxD8GR5W7LGyg6fTybo3P2RUvn47kxoK1UNUYxMa0QAAUUiKZHH3q2fSimG7BLKHlb2aXkm1oZK8WHnbSrGtFUWN8o6AJzvTGdi_wvwSWXFRSzLtxvf_owv_uATZvvpMUc5-3GdRKlrStl392xpDEtGERXmNfOfz7asd3uu2POxRef8r34O8vFF1y0u-ZQA8isq5q3Wm003zn9W5_gDqTfm355K6vC_ZV1n3tnd8LX2mBfAykjmDwSQkgUxVnImAg55_gY_ebJdAe3WtbWG33vCx9Nj0SaP6yVsRr4DtHYuc5Xsgz3VG9nN6LX5JHSgHN-mCacFcHEiqDkAt_JTc2r_-F1UYFGNO2V6i6bmWiavjKT40K0XygpU5qKlIosJXi91uDb0Vq7Gpy66JE5oqvHNF7H4WUl6_bxclO33Y3GbjXwYmbUjHiFA5qlZKQvG4rJMxpCmmDNpXEd72D7ppK5uFz8_L8Pv-SHUzqjCaIr461AdOUSZGWeTAGNC9-2lo_dha9em7p1p37pmUBsHgVjg8OJJnFSBpjnylt6nia26NDwXF5IOhESjYUEMSs5Xq-5Lxxrl9brnJ9ve8d3OOhEZmOR8VRkmNAzfCec12LvNUbChI68lgyjLCx4noniZEk_u8ud7AcnW8u5hf9F0mGtHxGdru7DVsoWL7bD81qhI3q1Hf_B9d-t1ASCpJkoRlGQTqOAB_ELjf04i_zIBvIgHhmYjYppyOM8C_CDLKC-aUZ-vGlAc9f4ey8imvJa1U871Rpc8x2YxreKbIiM_M2z3FluwXeLDN-51rW_C88LsyvwZKJUEkM6QO0fvPryGUxb2UEsucc1J2vdPRmcpH7FoOyQBIJXlRsA1mWN2OLQY39Sqvk_MM6_xhb7Iaefz49q3O14Vf28v36UNveNe6W0g3WBadvHwmEtXlVK8D-0XPfrmvI0Rg-e0NzC5gkLVTtb4oPDEE0qvssL7p4xvoETTX00j8RMyM7y87iTh1kpSH7az6fL3AOvvoxgWSn9wHXx0TpdHGQfXo3ht42eERyO70YXrv6-22hUCkHy44sWygL6DFAu_gb0ewDlYgQo-xvQtwU0nJT2gHGG_wuK7Fn1MJqAk_KiHINjzoyWJdQG7vw4dzb5J958rEv1KstXJYsRBN-adc6_v9fhTJVfcppD6TMUrei4BlHwB8wdcQ_ze7_SLZf6fRT3v--OpHgSSRnvkvycka2fZXVb39QDM9JzZY-fnEQMEGUvlMeb5l7dNLfcmHnBG49IL3oU546gx_FlhAd5W_PqyUjzidd80z0B5UpVf-KgzUUOUTYqfOkElTJI-HejcisbqGQNkyrgSA_Gxm8O05DJifpYG6v92y6ln606Jugkdzd63W-5htq61NtH9fxdPSGChI88kU09EZbpd3tikBpz81SLj7umQjTtAPzWSP12Im6a20--ig0medX0s4VP2T9FcOdJ7BY7WRMomdaEmEVvjPk75nLMomEE0WBqTSG-P5f_8hWuEKO8onSaVyJnf1e4UYWb-fNGq2YWZi6mXkkZNoYzISwrJlrs7ToZUtMH8ncLhIJlxSgQwkkgMDfjN6BLpXdzP96Yb3xSOAzsZss1FOvGTiZ21WoBnzZ6PBsNvfT8vePgXiX1TWM_cVkvVF3KzWi-Gtw97Zloah8vMtxoJcCY67Ys_QeIs8xr_TvaZ-Z9gp3ST_ulBvRF9yVtXUAFFl7m6Sf0c20e0i0lr0DYz7CRxuqnZ2P-vf_ecevTaH4WXPEULiABHs69Gyl4df4LvTHD8FHx3eF82akvvT886YAfMDxOu_3MlDk57vwwXjm-rfwhVPp2wkw-PdE0y8nAFaappJ3Xxe2k4vw7rPsLJumrFMcB4Z2nyjyNspyM2ub0CZFwYKcz8D-tfrzbbJIXHNgI5OnDXxiMPi2NQe5nQ7Hl3RQ4fZNjtaw3n6E8B4p3f0oJAkiHpk53e2QEBME7Luv30gEKEKOQPmzV6D_Mk0SkCV6vK5mLtbFc23Wvz1lbAYRp93sgukN_06_jtwWwMBwVUjb-HMI4yyOOO8Hv9cabkDw6PhbNc6UtFE6YUBr8FiIYDMv7jYQXxRUrMpbxC7gK4iRlaZpl8cX2KmWQ0jghcRFEQVzkhOQk4SELwyAOWJBdyCtKKCOMZEFGsiiehUGZ0CiPM8FZkKQxCgnsuKxmztqZ0psLv_vpKg4YyS4qnkNl_K5lSmt4wP4mohRFywt95RHK241BIamksea4ipW28tud3aCNouVCc7OFAvvddW4CGO6K7LdD0gR3G8de2scUE9xwYy5aXV39_l1d3rR_BQAA___CGNrQ">