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

    <tr>
        <th>Summary</th>
        <td>
            [mlir] linalg-detensorize violated assertion "isa<To>(Val) && "cast<Ty>() argument of incompatible type!" and crashed
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    MLIR built at commit https://github.com/llvm/llvm-project/commit/6924a49690eee074f6c341d3ada4e98d640b8a7e

Reproduced with: 
`mlir-opt --linalg-detensorize temp.mlir`

[temp.mlir.txt](https://github.com/llvm/llvm-project/files/9915881/temp.mlir.txt)

crash trace:
```
Assertion failed: (isa<To>(Val) && "cast<Ty>() argument of incompatible type!"), function cast, file Casting.h, line 578.
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 --linalg-detensorize temp.mlir
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  mlir-opt                 0x000000010513e10c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 72
1  mlir-opt                 0x000000010513e628 PrintStackTraceSignalHandler(void*) + 28
2  mlir-opt                 0x000000010513c738 llvm::sys::RunSignalHandlers() + 148
3  mlir-opt                 0x000000010513fef8 SignalHandler(int) + 252
4  libsystem_platform.dylib 0x00000001a33254c4 _sigtramp + 56
5  libsystem_pthread.dylib  0x00000001a330dee0 pthread_kill + 288
6  libsystem_c.dylib        0x00000001a3248340 abort + 168
7  libsystem_c.dylib        0x00000001a3247754 err + 0
8  mlir-opt                 0x0000000108949454 decltype(auto) llvm::cast<mlir::FunctionOpInterface, mlir::Operation>(mlir::Operation*) + 100
9  mlir-opt                 0x0000000105de84bc (anonymous namespace)::LinalgDetensorize::runOnOperation() + 132
10 mlir-opt                 0x0000000108b94838 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) + 512
11 mlir-opt                 0x0000000108b94f08 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) + 364
12 mlir-opt                 0x0000000108b970cc mlir::PassManager::runPasses(mlir::Operation*, mlir::AnalysisManager) + 108
13 mlir-opt                 0x0000000108b96ea0 mlir::PassManager::run(mlir::Operation*) + 732
14 mlir-opt                 0x0000000108b7bb80 performActions(llvm::raw_ostream&, bool, bool, llvm::SourceMgr&, mlir::MLIRContext*, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, bool, bool) + 560
15 mlir-opt                 0x0000000108b7b714 processBuffer(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, bool, bool, bool, bool, bool, bool, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, mlir::DialectRegistry&, llvm::ThreadPool*) + 496
16 mlir-opt                 0x0000000108b7b4dc mlir::MlirOptMain(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, mlir::DialectRegistry&, bool, bool, bool, bool, bool, bool, bool)::$_0::operator()(std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) const + 204
17 mlir-opt                 0x0000000108b7b3f0 mlir::LogicalResult llvm::function_ref<mlir::LogicalResult (std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::callback_fn<mlir::MlirOptMain(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, mlir::DialectRegistry&, bool, bool, bool, bool, bool, bool, bool)::$_0>(long, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) + 80
18 mlir-opt                 0x0000000108d78700 llvm::function_ref<mlir::LogicalResult (std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::operator()(std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) const + 96
19 mlir-opt                 0x0000000108d781e4 mlir::splitAndProcessBuffer(std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, bool, bool) + 128
20 mlir-opt                 0x0000000108b78e48 mlir::MlirOptMain(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, mlir::DialectRegistry&, bool, bool, bool, bool, bool, bool, bool) + 320
21 mlir-opt                 0x0000000108b79050 mlir::MlirOptMain(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, mlir::PassPipelineCLParser const&, mlir::DialectRegistry&, bool, bool, bool, bool, bool, bool, bool, bool) + 296
22 mlir-opt                 0x0000000108b79bfc mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&, bool) + 2888
23 mlir-opt                 0x000000010497ddf8 main + 148
24 dyld                     0x0000000121aa1088 start + 516
zsh: abort      mlir-opt --linalg-detensorize temp.mlir
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztWUlv2zgU_jX2hYihXdTBB8dp0QA2YiRBgZmLQYmUrCktakgqrefXzyMleavbKMUEkxYNjEjiI9_yvYVbKuhuulzc3qO0KblGRKNMbLelRhutazXyZyPvPfyKUm-adAI0-OD8qX9c1VL8xTINn-04eIkSLyBBEiUOY8yJgzzK_MClPqEkYAmmUeCkmMRs5NyMnFn7_54BI9pkjKLPIArkoo4cOVteyitRa3R1xcuK8OKKMs0qJWT5D0OabeuJ6QI9jzmOwus9aaK_6FF4M_Lwi63KS84UPJPEDTF24e2Uq5ccC80kURukJcmYEdJb0P3s50wpJnUpKpQT4E2tqR4uFRn580cx8t_B10fCgTO0R_CDh5cRpQ1919INkcii2bJKI5GjsgIbaqLLlAMiu5qNPFDVM9p5c5Q3VWYlWi6mAQSjOXyUVTHZmBYAlqEwxpNWydXi3ezhHVJNakKBQHAUSLJaSI20eHlolEo1FkVEKmqU5Q0FPTcMtYClJPtkQevEP2hoQLTZ1nsUHSAlKykKSbZ7040SaGh4nHG2cSYajdRumwqOKrJlyngChjaSoZ1o0IY8MWRtaTsBQwnqG5pEq9njByQkUkxbU1j1VEpRWZc8EYnA44vFx-X64Y_l9d3i9s9392szBJoNhrUoKwtmaWNobyY62HP-53xx2j_XCV2fuU5mdTNj_ZnaqfZlJYGxNfPRhqGHD50k-bwWSktGtja05mCMbgPtGsVeq4I7XIXIw-hM3kNZgA8-gJ85kyD8SZR05M16IRC6Vog3WEgW-_iSnfdNdSJLdWlhpLhBJ8YfLCZnOUbnyh-h44UdPAGCZElBDYisdc2JzoXcTugOGo9YEt_3wiAL0FqVBYQ2xJvhEkYtk_CEid6AR2jH45SJQ6GEoq7H-lPJeQdjZ2B0zCjrWZwbSHwvwH7gIJKaFLYQRR2HeDCHOA4DxKS047tqhocBjJMgCWA0ZRlvyxMmjRYG3INruxpnk9U2vO_q1l19W2kmcxvOc3TocFczSUyPtipeIhxCz3U6nZOBQUEZDtLMlARSiWq3FY1qq0RtFUlaUQtbc24OJadLtaa6q47UOMSm3-eZMwy6NAHf4SOrobzBzNEb-iju6hVRakZJrYXcSz_Bw3SwUFxG75wyA5N2qlRLUpHCZMIcpUJw82wqCOiK0ePKEbq9Se5gk3Ln5SatypqZierM1abrXtPoP7fxeJARdVtBBbXTD6h2zvW0QxebltDpviISCLdVLmChVZnpeB-gfhR0MHpDYYydLDuT3tuzBw3azNz7zez4Lih96nTFwvWHahYx4jyj2bMZG-9TJRgoNk5TDOUSagUU5ZktHuqZGbB3ev889H2AWT5jy-LrqDIL5rmAmvRFdxAeRvWLrbVk-Uk1W4iizAi_Z6rhpgbjy-gYWYmtZ-e6dcnWLyTdcDAoMQAIq7GMKXXd5Lmd276HidK0Ja3XbvvSVOXfDYOpCjSeH4Yu2VbIXc_z0kDKcgL2rinjUCK_PRgMvmTz88_XQf7Q46YkHFax96woAaNdh9BB6qOdmldWm33kwu6nc1I02EkBPU7lJbzd1XpJyuoNO-v_Af-lIdKlT8ty5AVrp30VtuaYKo7tTgm_DSjPXZy0M0W78HP6OSIeHFh-flyJT_3xIw58oyjZTu06knOzo1zn1Ykhv1PqdVPKLMG5qIq3g-DXmWRyCPcTKB6WQjTGseP8kqnyE1bA_cyaDPaey4KjBFA1L_WsoquzBdHbMP2XiK3v9ri8rHX3J0NDt8UxZgH-vWJ6zfLebku9rl56Q3f3ceKEzk_nmVOU-_36fAE7dsVkv1uPXg_uU9i9vtB5Q08D4iTNv72F6M4ysg1pTy3Otq0PWpZVcQ-hONi-_kS3P4v0hh0OBElMaQ6ZC3qdntZ6AaI7Tr8afMrAcwkBczH4nHSHmaHbYfWPsldH7TGn_XvR7cDZVc2YTd0oiv3I85N4TKc-TfyEjHWpOZuOwms7MLxBFxg_lYITzSgi--uekee9yiWPvVOx9yiMjhvJpz9-PRPiOMDjzTTJWUxInJiAwqnDEhyGmNE0I0meJLk_5iRlXBkMQIGKfUaWhblxCm_G5dRzPM91HdisuL4bTyI3950gpm7uEtiP5KPAYeB9PjF6TIQsxnJqVUqbQgGRQ6ypAxEgNMdxFnLDnzR6I-R0LjgX5kqqUc7Yyp9a_f8FyISmWg">