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

    <tr>
        <th>Summary</th>
        <td>
            crash in `opt` with `-passes=expand-memcmp`
        </td>
    </tr>

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

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

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

<pre>
    https://llvm.godbolt.org/z/n4xW598v9

```
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /opt/compiler-explorer/clang-trunk/bin/opt -o /app/output.s -S -passes=expand-memcmp <source>
1.      Running pass "function(expand-memcmp)" on module "<source>"
2.      Running pass "expand-memcmp" on function "test"
 #0 0x00000000050c2c58 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-trunk/bin/opt+0x50c2c58)
 #1 0x00000000050c0814 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #2 0x0000753452a42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #3 0x0000000003153271 llvm::ExpandMemCmpPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-trunk/bin/opt+0x3153271)
 #4 0x0000000000e0db5e llvm::detail::PassModel<llvm::Function, llvm::ExpandMemCmpPass, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-trunk/bin/opt+0xe0db5e)
 #5 0x0000000004ebb24f llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-trunk/bin/opt+0x4ebb24f)
 #6 0x0000000000e0e94e llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-trunk/bin/opt+0xe0e94e)
 #7 0x0000000004ebb8a9 llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-trunk/bin/opt+0x4ebb8a9)
 #8 0x0000000000e0d86e llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-trunk/bin/opt+0xe0d86e)
 #9 0x0000000004eb721f llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-trunk/bin/opt+0x4eb721f)
#10 0x00000000009582aa llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::ArrayRef<std::function<void (llvm::PassBuilder&)>>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool) (/opt/compiler-explorer/clang-trunk/bin/opt+0x9582aa)
#11 0x000000000094cbd1 optMain (/opt/compiler-explorer/clang-trunk/bin/opt+0x94cbd1)
#12 0x0000753452a29d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#13 0x0000753452a29e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#14 0x0000000000944dc5 _start (/opt/compiler-explorer/clang-trunk/bin/opt+0x944dc5)
Program terminated with signal: SIGSEGV
Compiler returned: 139
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzcmF2P2jgXxz-NubFAjmOH5CIXKR36VE9HOypV9xI5sQneOnZkO1NmP_3KSWiAodW8dLW7HWUExD5vv_OfjA_MOVlrIXJA3wD6dsY6vzc2Z42x3MxKwx_yvfetA3EB8BrgtVL3zaI2vDTKL4ytAV7_CfBak8PvNEvvM4CKcCVovFBx9-Gm2NxA15WN9JDBsquhFa2xHnoDz73X0u-7clGZZgw1vsxba_4QlQd4LZ3rhAN4DZnmUOpKdVxAvxewssztYcmqL96ySiwAKjaeVV8g75o2hEAFWgCU3VlTW9ZAZuuuEdqH8BDgtWmD_8o0rVTCzsWhVcYKG-4ppuu5t53-AvC6lHrYDecm2LG2DZ8733Z-4eB8A-ctc044EL8Vh5ZpPm9EUzUtBPHKmc5WAsQ3ABVRyOZjp7XUNQwmEGC863TlpdEAp2fGAGcAY2g0bAzvlAh7z_xhDFCBr7m88NM7OYYJ6144P5hDgGME0QEdfyiqcEVT2PciLkBcuAc3vLmzUvse8KeAG-B02mTZ161x3grWAJwAvIJSe4AzCHD6EtIAv0GHMZcAYsg0usgUpRGBG1lrpv7HNFfBY9oHXkEna6l3ZusBLsLneyN5_zYbLdyiaoNKUP87BMBjgCWNCcWMYIrRWIKSJcDrQ5psEzJXUneHea27YaFaOLNI-px7kynj-DTjOKIxXkYnbG_6Rt2KZtW0d8yNoG2nz-CuvymkJzstFJqpByfdLdOsFhbEqytGQSnJa1sxpj4VRk4LQwLxkoqTzLjwTKpRN8y5W8OFup7fWUWPgLyo3nD9S0EOpCaO9JQjEWWJye4ksZ7dj5L61fiMCCZAyYXQREZ-htD-NrC_WkMG4lM_lpeCTVl2ktht_7_qkzkmETgXnLXe2OslDgbPKnA0-Wl6S1k21ZdePtjS5Hl6Oxa0eiKVF5T9Pbn8wywHWBPK7EIqSxw95dl2DeB_mstY-gAmHGPOTlwooylm7CQv2_UCuZOtUFKfH7Q23kpdfxS7awJ7VOEnZmvhb1m17_0U11Y_yNIy-_Be78z7plWPdxmjfuvPumuprjh51fJ3yimsZQ_h7mlLeiaqq6V-_Jyd9jvPh3vfztXxKpz94BnG4OtNJxUPzQsNvvb0Nq3femPGv_ahiv9LzX-067OwcieFPe4rw8qzX1-nt0FQk9yic7mRquQRNK2_ZVK_LlDvagp0cXzGGc-eeXzuTSaH8aVDQRDcboPN1nlm_baZanhyCEFOQpALOIRXFA7OX8kmeBriHAdQL2wjNfOCw6_S78OMolkQDty8f7e5efcZoGI1xoFW-M5qEdQMozg7HbJnPI95FmdsJvJoSUiGCKF0ts_pjpaCLJMdIwKJuNyRLIl5FZdJSbPlks9kjhGmiETLiBJE6aKMaZXRLInTqkyqMgEEiYZJtejnfmPrWT9_51GcRCSbKVYK5fovDzDW4ivsV8MsSd_ObN6P7mVXO0CQks67yY2XXol8GNlDyxIUSCVoIAES9J0ZOpTbWZW__HuDMfX7HP8VAAD__9OGOUE">