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

    <tr>
        <th>Summary</th>
        <td>
            [mlir] -finalize-memref-to-llvm crashes
        </td>
    </tr>

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

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

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

<pre>
    git version: bc29fc937c6cb4a210f80c93c79fc6ed97c801f8

system: `Ubuntu 18.04.6 LTS`

reproduce with: `mlir-opt  -finalize-memref-to-llvm a.mlir`


a.mlir:  
``` 
#map = affine_map<(d0) -> (d0 + 1)>
module {
 llvm.func @malloc(i64)
  func.func @loop_nest_depth() {
    %alloc = memref.alloc() : memref<1024x64xf32, 1>
    %cst = arith.constant 7.000000e+00 : f32
    affine.for %arg0 = 0 to 8 step 2 {
      affine.for %arg1 = 0 to 16 step 4 {
        affine.store %cst, %alloc[%arg0, %arg1] : memref<1024x64xf32, 1>
      }
    }
    affine.for %arg0 = 0 to 16 {
 affine.for %arg1 = 0 to 8 {
        affine.for %arg2 = 0 to 8 step 4 {
 affine.store %cst, %alloc[%arg0, %arg2] : memref<1024x64xf32, 1>
 }
      }
    }
    llvm.return
  }
}

``` 
stack trace:

``` 
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt -finalize-memref-to-llvm /data/szy/MLIR/seed/seed0/tmp.p0T3OSGcxx.mlir
 #0 0x00005613db47b508 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x11ef508)
 #1 0x00005613db47901e llvm::sys::RunSignalHandlers() (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x11ed01e)
 #2 0x00005613db47be9d SignalHandler(int) Signals.cpp:0:0
 #3 0x00007fbe5ec96420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
 #4 0x00005613de12a673 castAllocFuncResult(mlir::ConversionPatternRewriter&, mlir::Location, mlir::Value, mlir::MemRefType, mlir::Type, mlir::LLVMTypeConverter const&) AllocLikeConversion.cpp:0:0
 #5 0x00005613de12a511 mlir::AllocationOpLLVMLowering::allocateBufferManuallyAlign(mlir::ConversionPatternRewriter&, mlir::Location, mlir::Value, mlir::Operation*, mlir::Value) const (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x3e9e511)
 #6 0x00005613de129d0d (anonymous namespace)::AllocOpLowering::allocateBuffer(mlir::ConversionPatternRewriter&, mlir::Location, mlir::Value, mlir::Operation*) const MemRefToLLVM.cpp:0:0
 #7 0x00005613de12aed0 mlir::AllocLikeOpLLVMLowering::matchAndRewrite(mlir::Operation*, llvm::ArrayRef<mlir::Value>, mlir::ConversionPatternRewriter&) const (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x3e9eed0)
 #8 0x00005613db77cf84 mlir::ConversionPattern::matchAndRewrite(mlir::Operation*, llvm::ArrayRef<mlir::ValueRange>, mlir::ConversionPatternRewriter&) const (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x14f0f84)
 #9 0x00005613de43a014 mlir::ConversionPattern::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&) const (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x41ae014)
#10 0x00005613e1517791 void llvm::function_ref<void ()>::callback_fn<mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<llvm::LogicalResult (mlir::Pattern const&)>)::$_0>(long) PatternApplicator.cpp:0:0
#11 0x00005613e151440b mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<llvm::LogicalResult (mlir::Pattern const&)>) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x728840b)
#12 0x00005613de43b0e3 (anonymous namespace)::OperationLegalizer::legalize(mlir::Operation*, mlir::ConversionPatternRewriter&) DialectConversion.cpp:0:0
#13 0x00005613de43a137 mlir::OperationConverter::convert(mlir::ConversionPatternRewriter&, mlir::Operation*) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x41ae137)
#14 0x00005613de43b30f mlir::OperationConverter::convertOperations(llvm::ArrayRef<mlir::Operation*>) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x41af30f)
#15 0x00005613de44136b mlir::applyPartialConversion(mlir::Operation*, mlir::ConversionTarget const&, mlir::FrozenRewritePatternSet const&, mlir::ConversionConfig) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x41b536b)
#16 0x00005613de10deab (anonymous namespace)::FinalizeMemRefToLLVMConversionPass::runOnOperation() MemRefToLLVM.cpp:0:0
#17 0x00005613de3dcec6 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x4150ec6)
#18 0x00005613de3dd7f0 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x41517f0)
#19 0x00005613de3dfdc2 mlir::PassManager::run(mlir::Operation*) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x4153dc2)
#20 0x00005613de3d853a performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#21 0x00005613de3d818d 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
#22 0x00005613de483c65 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) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x41f7c65)
#23 0x00005613de3d2175 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x4146175)
#24 0x00005613de3d241f mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x414641f)
#25 0x00005613de3d274e mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x414674e)
#26 0x00005613db45bff7 main (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x11cfff7)
#27 0x00007fbe5e2b4083 __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:342:3
#28 0x00005613db45bb6e _start (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x11cfb6e)
``` 
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsWt1y27oRfhr4BmMNfvh74QvGjtrM2GOPnZ5bDQguKfaQIAuAiXWevgOSEiVKspOcKKftNBNbIrBY7PftYrEgLIwpCwVwg_wPyL-7Ep1dN_rm69dNQGN6lTbZ5qYoLf4C2pSNQjzBqWRxLmMeykCmnmCU5BGRMZdhnMsAsjiUEaF5hEiCSGI2xkLtxqGA_CPtlO0wjRbEWwT4_vMLCsggp6HVTdZJwF9Lux7l66rU101rMb7OSyWq8g-4rqHWkF_b5rqqvtRYLJzQTg0iydjCE4xdQ0CG__0D47VoMeJ3WOR5qWBVixbxW8SijCAW42vEP-L-CSP2AVPEYsQ_IpLUTdZVgFH4AZEEu5kXeackRh6pRVU1ErGoDDwnTxKMXd9OoGqadqXA2FUGrV0jFrmpRlUYY8T8XkVv1wBvsdXZS_JkbEb8lhLmvQbea84ZYreYDuaNaqSxAzhd2vVCNspYoSwOF6T_B4h9IKTX54YPwwYiFnmje0N0QXoVBNsGR9hYaDHbM_bEADoNoMEwwjsYsRtjbKNhNNRZv0Xugm-Ye9uqC4r8u2-FjjEK77Y07L69hYwGWwvfghOdhjHJsiOuvJne74HMvhXyhPE08j4-NdhOq75l6Bl_z9aEsUL-jq0WEhBPTgg83X9MXj5i06V1abHAaVdgDW2jrYO9trY1biBbIrYsSrvu0oVsasSWzorx47rVzT9BWsSWpTEdGMSWWKgMl0pWXQbYrgFLLcwap0L-3luzQCR56Y3LurodbCOLAfSTbgotaix00dWgrOkTBltmwgrEluaPDWLLh_tPz9v5NVQgDBybk3ZllbnPUiG23CWcs_nmzCQGIBs_CGJLW7eLlnzmjy9_k6-vQ0JyfmOcYPLq1qIfUJ6lXpj6JOr95QByly6HL0-6VLaH_7l3DYsmIS2-rhpjNYgascAFRqlsnylcwvhpJLhs8Uop5D6JxsSGGKczADGhcArAc6deykKJ6u9CZRVos81mF7ExIxQmG9mcZIgzfGCNS9cDZ0OzWcjWxRjpfwYtfNQS5in4IOPAYwSvVhr6Nb3SdsRSlSliy9coWAXedVWq7vW6UN3Q0dq1BpEtTLMgg62ex8hkqbdvKVAmgpBjKYxNXJJYdko-g-kqi1g07mqIJ7eNGvfjJ2EtaPUMX3VpHao-GibJ-0YK6_btg9bfRNXBYdMD1M-Qf960s_bjlvv73x5c62CEBY37faafOsa92ffl7zDZeIJZf47ap3Rvil5Jb_dj66a7b76CLlUx9IqhFz50eQ76QahOVNUmqcpCXZqlxxb0KJmcFI4HMi4R5Bxi8CmdQieYkRhnJHMTC9WoTd10BitRg2n77BHvMfvYvkXor-VwS9gYf41z94mACecBAxmZB4yLulPxUgsr14nKRtMP8M0dOuWxRGuxee434Tkc_vEQ0dskXTgk-v1mGxLRQd4LQ5lH3luGXoagZ6GK_yCWqJeTPPImluKDYPK4IPQnszT1_GKsHhVA6IjVbdb75QZQn4ZhTPGXpsz2POnOKc741VBz9r3DZu2c2ItIUVWuMFvl6sDfI7ykbatSCtvon83V7Xk706ap8IHqUcH-hjSG4btg_5SSqeO-KUopqmHP_ja9Y2ZGzFuRviGqGlW4KDkid5YYnX_pzL-eR9JjSv_vnz_hn0us05BFkUfSaZ2yWU5KCfD3NvOdp-6h6M8qI5JqfPxGt76XmO9KUYG0Zws6Zz6fp1TKw1N7_q5oHNPK8PiDJce8krhQPqU8nPzkzf3ESf7tQHfd5uA8d3IrPUB3sUD0qMg5ySeAh6W551Ee7CcU0bbV5kloW4pq8tR3R9pnoQuwe2ttX2ypmz9g6_YxCF7OSk9KbxuVl8XFiEp9Huyt2Fn5TTIQ6Xsrdjm-VNivdvfj3YxnZ92pR7XHY39wfqNEdvYclsg8kyCDPZoysKKsth763Dy2brokE-1uV9CdmmVEY458eN67iRLVxpTmQShRuOV6i90W4D471b9lzi74nsKjPgEZTP6JZnxkYU6-m4-nsoWqVPNU6kR3MN_MSj9E0OGma8wnZazu33M1-sSuvC8wzDx0jLY_CQ3KflJ5s11Bl8uWPg1zMvkgnvkgzySbmb4l42QE_pIM7_NMsp3NjMxsjnwucAs6b3SdyOPkffwyzthsfBe2FhqyVWv1QRHy0nRawkOhEf94Jqk5VLeNsvBqjxz-UJX6sbUPohwz3sELmL3e4yTB6BwcjfZPAofl0Y_UUzvsnSr_1cER9geoG73ZvmnY4yqDXHSVXWVQgYXzY9yJZFbtzT3w_rFlj6Rv9eXF8UzWjQXXMxSlsXpzHBxvBcCZ08SvRPKGZ94Jz1kVHHEZ-HvATVuVNlHZk24kGLN7X_VXQPsvXBJvSuz3vVhdqsIVpOeaL5SK81AG_pSK-SxbMRr6p9fB_9oqvgy9XkDDPXq9Ob0ezc_SOxYmci2GEiT53pB5j5uLYfbodLxh_hxz6MFPwfwXgQs9mMAFh9defprnIa5FqS5z6SbzPJ-Oxiw8uC5jqUcijlerqkzlylih7Wo0Zae1cH3X9_ITI6-7R7bgFLGlNB1iy8Vi97Xv7PUsJOIJ95j7Pc4dzZGnAeBh1kthT4Mt87vL8qvshmcxj8UV3NCQe7HnUz-8Wt9kjEoASQhPPcFDkNJPQ_BzgNyjKaRX5Q0jzKOMcRJTxsMFFX4KNPRJkPkAxEMegVqU1aK_2m90cdXfo99QRmKfXFUihcr0f8TDWB-KjCH_7krf9KDSrjDII1VprJk02NJW_R_-9AP8u_OX3v3NPJirTlc3P37hP9r65Yb9OwAA__-xYT7Y">