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

    <tr>
        <th>Summary</th>
        <td>
            opt: Instruction Combining did not reach a fixpoint after 1 iterations
        </td>
    </tr>

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

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

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

<pre>
    `opt-18` crashes with the following output:

```llvm
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "aarch64-unknown-linux"

@global = global i8 0, align 1

define i32 @testcase() {
entry:
  %0 = load i8, ptr @global
  %1 = zext i8 %0 to i32
  %2 = icmp slt i32 %1, 128
  br i1 %2, label %if.then, label %if.done

if.then:
  ret i32 %1

if.done:
  ret i32 0
}
```

This is a heavily reduced test case that I hit when updating my compiler to LLVM 18.

Result:

```
$ opt-18 -o crash.out.bc -passes instcombine reduced.ll
LLVM ERROR: Instruction Combining did not reach a fixpoint after 1 iterations
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: opt-18 -o crash.out.bc -passes instcombine reduced.ll
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  libLLVM.so.18.1 0x0000ffff88d91518 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 80
1  libLLVM.so.18.1 0x0000ffff88d8f7c0 llvm::sys::RunSignalHandlers() + 112
2  libLLVM.so.18.1 0x0000ffff88d91c28
3  linux-vdso.so.1 0x0000ffff8fe2c800 __kernel_rt_sigreturn + 0
4  libc.so.6 0x0000ffff8fa90a10
5  libc.so.6       0x0000ffff8fa4a76c gsignal + 28
6 libc.so.6       0x0000ffff8fa374bc abort + 240
7  libLLVM.so.18.1 0x0000ffff88cedd54 llvm::report_fatal_error(llvm::Twine const&, bool) + 432
8  libLLVM.so.18.1 0x0000ffff899ecba0
9  libLLVM.so.18.1 0x0000ffff899ec5e0 llvm::InstCombinePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) + 552
10 libLLVM.so.18.1 0x0000ffff88f0bce0 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) + 240
11 libLLVM.so.18.1 0x0000ffff88f0f2a4 llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 324
12 libLLVM.so.18.1 0x0000ffff88f0abc8 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 328
13 opt-18 0x0000aaaabe25d158 llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool) + 11264
14 opt-18          0x0000aaaabe269fcc main + 6808
15 libc.so.6 0x0000ffff8fa37780
16 libc.so.6       0x0000ffff8fa37858 __libc_start_main + 152
17 opt-18          0x0000aaaabe2579b0 _start + 48
```

Version:

```
$ opt-18 --version
Debian LLVM version 18.1.6
  Optimized build.
  Default target: aarch64-unknown-linux-gnu
  Host CPU: (unknown)
```

Environment: Debian 12 running inside a distrobox (host OS is Fedora Asahi 39).
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0V1tv4zoO_jXOC5FAli9xHvKQTltMsS1atN0Bdl8C2aZtbWXJ0KVt5tcvJDtpck4vZ84laJ1Y-kh-pCiKYsbwViKuo-wsys5nzNlO6TXbPeGzmJWq3q2jnKjBzuMiyglUmpkODbxw24HtEBolhHrhsgXl7OBslGwich6R_TMn458Qz_04ZJlu0ULNLBNsp5yFKDmHiFKc91GywTkvomTj_xM653EeJZvw8G95GiWbPJ3zmHpATIu5TOg49uDHKD0xYjUfBO4NMKarLk_nTj5J9SLngkv3ehCZnilphSqZCELTT14Aieg3YIK3EuJjfI0Nlwg8oRClxKKxFTMYeSoriJZnIwql1btDaAAimpFgQChWAy-88sFqOFg_AsYB-BNfrecRJK3yBo8wNGB41Q9ghB3Z0Cz2an1UJmCpgccB7icEK1H4N94sbIfyt2O1knjs6R725oXGI1OnyCD8eySZYMvz36THsfhjxw1wAww6ZM9c7EBj7SqswYcXfHzBdszCFXTcwkuHEtxQM-uzsN9BpfqBC9Q-TNfXP24gLhbH-u_ROPFhok6vNIUx62GuxqxfKGcXZQXzgRmDBrg0tlJ96Zd_IrgQ08IFsxf397f3UbKBK2msdpXlSsK3IOGZ1rwGqSxoZFUHDBr-OiguLbDGooYYuEXNvJAZld5dX2weLsC4sucWGJSuBY2D0tZ72lk7GO8UvYzoZctt58pFpfqIXoa9N37NB63-h5WN6CU3xqGJ6CUwWQOXlXA1hj0d3IWSVU9Wswqn4D1YVj1B7frhEDqygPC506rVrAemW9ejtJ7HXwnfm6lQaHyNMLu-VAIk69FARAuUxmmEnXLQsWeE4NwI4j9RA5d-TsPd5vE7KA3GV4MOAeUz10p6lvDMNEQ58Yu1ffjPzdnt9dV_L-63XsTXOqtgXBC_3WxEV29-AwheermFUYu4WMRAXgkhpGmapijqVZzFRaDkRZKN2Znxx53m0gbvHn1kI1q8gTR72SpjNbI-ornfjVzaUEXoGRRTXsZfWC6aZUXes3zv5ANvJRPfmawFarMvUfQM4niqJfRLv6p9NUk8VLrX-XNtVEAfQxukVUEIbLdPqCWKrbZbw1uN1mkZbE7-pMFi5RXkJwrYirB4AmXHoPFzAk3ZMq-gNcG_oH3PMv9cMFmmZQWs9FsoiKWTxeXngaiwrrP0KMzjNtw2_kzbotZKnyzt44vP8kpJY6elLZUS-_Cn-1JefGp1tcKqZBPB1ZfQDI_zwJegsfTgHTNTTmgnT2heOhmK1MTxbWIjmdgZbm6YZC3qKPn2jlByEeRGn7Js8ikmn0ayIWV1QtSz-9TMnyLm__5hjw-5E8dfeNxQdpw7N6p2Ah_VXq2PwKZmg1X6fdKjwC9RnkROCCc0nQjTLwizsir-wBLtef06qY-W52_zdCoHcbI_lUYHGWOsRJrVcXbsoHZhEe74gILL0yr9YDWX7T02p5Q-YPoY2tAbVnVBz-a92WteaqZ3V7JRV_0gfo9SStyG3vqSi3eU_KXpD9zZaM12fvQ4tCEmwrV8zPxjvBrs1vqSFt5Ge__isv4M9QM1bzjqPW4sib_6fTjB8n02Hxq3w-dksfNVU1XQMz6eQ3lB9smRfXQUJcvl4fz98kQpsgK2Ww_aGsu03R5MxYeauPycYrZclQRG8fGEKD5pl3-gNqEa_dF-dv48SYSZcyw5k2OjPE34hjle5Pvm_XawvOc_sYbScVEv9uPn2DAnLIx3Ld_yvXvBmrfS7UW-K2Ph292_PTiixYTzrdXH_l28dWxebOIbU9BOhkaaS8NrBAY1N1arUr163Z03dfvgLxKXWCvNYGNYxyFZRXS1mNXrpF4lKzbDdbyMc5IkyaqYdWvCkmVSJElZLAu2pOWqIElak6Sui7xsynzG15TQlGRxEcdZnhSLnBKaJ3GdZauUxFkRpQR7xsXCJ_5C6XYWOu31iuZpMQs3LBOu25RKfIEw6S-h2flMr0MbW7rWRCkR3FjzpsVyK3CtBvu3XClmTov1n78zBGf-HwAA__9GudkT">