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

    <tr>
        <th>Summary</th>
        <td>
            [mlir] Covnvert-memref-to-llvm Pass access out-of-bound index 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/97a1c98f
Reproduced with: 
` mlir-opt --convert-memref-to-llvm temp.mlir`

temp.mlir:
``` milr 
func.func @func(%arg0 : memref<*xf32>) -> memref<*xf32> { 
  %1 = bufferization.clone %arg0 : memref<*xf32> to memref<*xf32>
 memref.dealloc %arg0 : memref<*xf32>
  return %1 : memref<*xf32>
}
```
 
trace:
```console  
Assertion failed: (Index < Length && "Invalid index!"), function operator[], file ArrayRef.h, line 255.
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 --convert-memref-to-llvm 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 0x00000001050af8c4 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1  mlir-opt                 0x00000001050ae92c llvm::sys::RunSignalHandlers() + 112
2  mlir-opt 0x00000001050aff5c SignalHandler(int) + 344
3  libsystem_platform.dylib 0x00000001aad414c4 _sigtramp + 56
4  libsystem_pthread.dylib 0x00000001aad29ee0 pthread_kill + 288
5  libsystem_c.dylib 0x00000001aac64340 abort + 168
6  libsystem_c.dylib 0x00000001aac63754 err + 0
7  mlir-opt                 0x0000000106dc5fdc mlir::MemRefDescriptor::undef(mlir::OpBuilder&, mlir::Location, mlir::Type) (.cold.1) + 0
8  mlir-opt                 0x00000001062bf17c mlir::MemRefDescriptor::undef(mlir::OpBuilder&, mlir::Location, mlir::Type) + 0
9  mlir-opt                 0x00000001063299a4 (anonymous namespace)::DeallocOpLowering::matchAndRewrite(mlir::memref::DeallocOp, mlir::memref::DeallocOpAdaptor, mlir::ConversionPatternRewriter&) const + 176
10 mlir-opt                 0x00000001063297f0 mlir::ConvertOpToLLVMPattern<mlir::memref::DeallocOp>::matchAndRewrite(mlir::Operation*, llvm::ArrayRef<mlir::Value>, mlir::ConversionPatternRewriter&) const + 168
11 mlir-opt                 0x0000000106762af8 mlir::ConversionPattern::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&) const + 200
12 mlir-opt 0x00000001069cb53c mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<mlir::LogicalResult (mlir::Pattern const&)>) + 1420
13 mlir-opt                 0x000000010676dba4 (anonymous namespace)::OperationLegalizer::legalize(mlir::Operation*, mlir::ConversionPatternRewriter&) + 1948
14 mlir-opt 0x00000001067667e8 (anonymous namespace)::OperationConverter::convertOperations(llvm::ArrayRef<mlir::Operation*>, llvm::function_ref<void (mlir::Diagnostic&)>) + 936
15 mlir-opt 0x00000001067688d8 mlir::applyPartialConversion(mlir::Operation*, mlir::ConversionTarget&, mlir::FrozenRewritePatternSet const&, llvm::DenseSet<mlir::Operation*, llvm::DenseMapInfo<mlir::Operation*, void>>*) + 80
16 mlir-opt                 0x0000000106314a04 (anonymous namespace)::MemRefToLLVMConversionPass::runOnOperation() + 524
17 mlir-opt 0x000000010672b518 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) + 428
18 mlir-opt 0x000000010672ba48 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) + 320
19 mlir-opt                 0x000000010672d3c4 mlir::PassManager::run(mlir::Operation*) + 1148
20 mlir-opt 0x0000000106726788 performActions(llvm::raw_ostream&, bool, bool, std::__1::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, bool, bool) + 504
21 mlir-opt                 0x0000000106726358 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&) + 704
22 mlir-opt                 0x000000010679104c 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) + 656
23 mlir-opt 0x0000000106724780 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) + 216
24 mlir-opt                 0x0000000106724c74 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&, bool) + 1208
25 mlir-opt 0x0000000104f51cf0 main + 108
26 dyld 0x000000010a005088 start + 516

```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWdtP4z72_2vMi0WVOPcHHspNXyQQCNBX-v1eKsc5Sb3j2Fnbgen89Ss7SWlpOy2zo9VotWhEhvj4XD7n6pgawxsJcIGSS5Rcn9HeLpW-uFJCqE5p25vgrFTV6uLh_u4Zlz0XFlOLmWpbbvHS2s6gaI7ILSK3DbfLvpwx1SJyK8Tb9DjvtPoHMIvI7bAPkdsioyEr8hoF1yiYP0OnVdUzqPA7t0sUzfGwgNIAt4Lrc9VZfH7OlHwDbc9baDXU51adO_7YQtvNHBlKg3Gf__3xPpqv-Q3_cMuFHoXUvWQz9wujOHBPRHJEEqqbADtVBmkoukJk_r2OCIpuECnwOYpu9q1hlF2OnDFGJAkxiq5x2dc1aP6DWq7kjAklAR8Rgq3aK3tgPazMKqBCKHaM16SPBttrOan1E1KUXX-CbGQxQqspg11YmZJGCcAj1dwY0M5gXFMuoPKOJfmdrOA7RtEVvgfZ2CVGJEUkxYiQO_lGBa8wdySIhIgQRApErrBzjGelOtDUKj1ErF_iAvBca7p6hnq2dK8El4BJkswGRZ7ub-YvN9j0pQtbisu-wRpcgDuQvxzG3JgeDCK3mEqnKxN9BdguATNNzRKXlH3zCI3iXyxl33DVt90asmCGguJJq0bTFlPd9C1Ia7xLvhDvn7j77FG9xWbVlkpgSVswDnGQpteAV6rHS_oG2NszEPEfoDGXbk3jp_nrX1hpbMB6c0C-ca2k0w2_UY1RGtzf__2wePm_h8vH-7v_v3leuC0uoazCneLSA-pSvPgwFX_YFHwPhp8wSAJa5yz2ujjaaG5WZvjPk-bSerNefZyR_INI0_eFMlYDbX3YXGEunTiMyCVO0kFkuCHy88-2ClAQtk-F516-8EZS8ReVlQBtfFEYpIQhGcSQw5bVCcNbDBDJNxSN4nhgEWEseGlWxkK76AS1tdLtrFoJXm6wpLSKw5jFeGF4YzVtuy1z4y0mdqmBVvt4kAIgwCPB4hsXwrMheT7wSTb5sD0cWBpHcYBp6TLHQ5GOW9PjW6MsiTFo7TeO5SQ7zVFpxZK6Yngq5tH8AdpnqK_BMM07Vw38215WUCOSf9A9dpc9F5XD3wfLx8q9Yr4Yb799XXUwOCmfMSWqWTi5bNQ4P1FjUtZh9p_VeK1jcaKOESkKGjtbqVRy1areDDWj81lXDAKuhxbz2N2rd9BcNsPrllq2nMvqGd41t7Blw9RWtrZvq72XZF5RD80W5ZWvgoYr-UStBS1HiQNABXZNZ4zGbMr_4GQAsjrYkWUfu1flCt0oEEVXx2yLbo6j8ug7l3fg3DepddmZmteWoL-p6MEPG7-IxpSbYXgaGllKaJ3_TNbXbfxYOaYuCcboDcneqpoWrEwitstx3nWCM7pOqd-n3qaLpvljMcxLpVKueOY7DAaLButG5x1k8qZ49W8z2awPDWdUPIPphT2N79jQYjJhH50aKlV5vHKs0b6HhvpJY3gvxj9PdM2xkPcmFPEU7fH-8MnSNIP8ZJXHSjCpzKbCMC6braFkb_5uGfTlSLjmtJHKWM523FVEU5lLDpma59VmItOuE6snqi2n4gPNL8P_SnUDdqcv3Wr1AyanjC56AbsRbJuWX4M08AL2MFa75A-0u5O1-ukWB6Evwzf-xQBVPsV1emJDCGMaHI3roZUPLWIzOM04POpePsoN_daTY0LGsS_MDniOlEm46bkKLOVisvhVPXZOzNQnJ2mfct2YHScedu9cUrEy3DxQSRvwvdcVN_fspf86UG2O2DGZ8iw_aAKNv27CE-_Ando-BaUjXWuW_nabtjuAMXfSWO3PYm4K2WkRmwSD5GFh1P2JapDWReoU--tAjNYVtjixwpIqYvEn6ZM9e_2-Dcd0VJnKIgkOuSvN8hx3oN3JY852i9vuiWvCcnoaWw2ki0U4nqOWVEO16KxG0dUHqxfVawYPjUbRzVZ52BiT7--er5S08N3u1IJf63zbATT1020bxvQMxvQkp05MJI2SHB9S5Fc038Wyl_yfPexg-QCt0qtL_11pvxMqqGkv7KICARYObx6L5ibSn31erAdcRoUoKfu2qLfH4gfB9WNnHyiXR6Lnz7Dwd8bSVtcWwOwzNNxYvTqQL6c9x2aDSLwIvKBcKNn8OQjuxIjPoWydQ-TEHCrCIN4c600nuJ3L6kkrBsZM2v8hmfFfkck_pdhfG9PpYxOJDjWSOMs3z9L_qwi_vSIMB-Vw8kR8apeKWRYf9Mw4CLElHUaeT033xWouG3e4OdmucfYgwTR77D-nxHUSsjrALeVy2LHekOJqJapNYhoESZDn2Fg6fntMJhw-XUKcVRdRVUQFPYOLMM3iKM6SIjtbXpRJHZdxmbCgLkJaZlGQhBmpijKPQ0iD8IxfkIBEQUhIEERRmM2ilJQZiQiBmmRFFqA4gJZyMXPwzJRuzvxVwEUahEV8JmgJwvirNEIkvGO_iAhByfWZvvAf3cu-MSgOBDfWfHCx3Ap_B-fxTa7xlXrb--nfxRumzNVFrHp7rurzUvVyvDDx1xH-CgKqs16Li1-_2fAW_SsAAP__2iB-2Q">