<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">