<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/92270>92270</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Segmentation fault in codegenprepare pass
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
zhangxiaosa
</td>
</tr>
</table>
<pre>
I found a segmentation fault in **codegenprepare** pass, and this is how to reproduce:
Bug-triggering program:
```
$ cat input.ll
define i32 @a() { ret i32 0 }
```
LLVM version:
```
$ git rev-parse --short HEAD
7c8176ebd39c
$ ./opt --version
LLVM (http://llvm.org/):
LLVM version 19.0.0git
Optimized build.
Default target: x86_64-unknown-linux-gnu
Host CPU: icelake-server
```
Command to reproduce:
```
$ ./opt -passes=codegenprepare input.ll
WARNING: You're attempting to print out a bitcode file.
This is inadvisable as it may cause display problems. If
you REALLY want to taste LLVM bitcode first-hand, you
can force output with the `-f' option.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: ./opt -passes=codegenprepare input.ll
#0 0x0000557b3f481740 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (./opt+0x44fd740)
#1 0x0000557b3f47ed0e SignalHandler(int) Signals.cpp:0:0
#2 0x00007f99e987b520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#3 0x0000557b3d78b6ad llvm::CodeGenPreparePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (./opt+0x28076ad)
#4 0x0000557b3ca63506 llvm::detail::PassModel<llvm::Function, llvm::CodeGenPreparePass, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (./opt+0x1adf506)
#5 0x0000557b3bb2c660 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+0xba8660)
#6 0x0000557b3f27b7ea llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (./opt+0x42f77ea)
#7 0x0000557b3bb1fa36 llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (./opt+0xb9ba36)
#8 0x0000557b3f2785e7 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (./opt+0x42f45e7)
#9 0x0000557b3b6b7fd6 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+0x733fd6)
#10 0x0000557b3b6ab897 optMain (./opt+0x727897)
#11 0x00007f99e9862d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#12 0x00007f99e9862e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#13 0x0000557b3b6a22d5 _start (./opt+0x71e2d5)
Segmentation fault (core dumped)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUV01v4zgS_TX0pWCDpj4oHXxwPjwdbDITdHpnMaeAEksyt2VSIKkknl-_oKTYVuIeTLKDxQ7gbrdJVtWrV6_YReGcqjXiiiQXJLmaic5vjV39vhW6flHCODErjNyvbqAynZYgwGG9Q-2FV0ZDJbrGg9JA2JqwdWkk1qhbi62wOKxBK5wj7BKEluC3yoFysDXP4A1YbK2RXYkkWhN6Rej6oqvn3qq6Rqt0Da01tRW7wzZJ6fgZfrIYShEAtJ1fNM2wKrFSGkFFDEhMBWEZYTkQfgEWfb9MgfCrsx5vb3-9gye0Thn9R1Fr5cHi07wV1iHM525rrIcv1-vRLS-zJU-xkFFeHq0WhG1M62E-fw1xDEpYtvW-DUHZhrBN0zztFsbW_a_8gAVOEcIyX9AFrZUfN-GX1qud-h0lFJ1q5OJ1_QqHUnlha_QkWsNLlj6m8bzT37V51vNG6e5lXuvu1eKLcR4u7_8ZzqoSG_Ed5w7tE9qzpFya3a6v8LmqniHwQEWQBzoSXU3F86am_1p__fnm558CmN9MRxi3CMJ73LU-6MQbaK3SHkznQUChfPAGlWpwpODbqDylhXxSThQNgnCgPOzEHkrROQSpXNuIfVBd0eDOLeCmGqz3poOv1-vb29_gWWgf4nnhPA7VOIazzs-3Qsug970ZuSyFhsrYEgO6tvPwrPwW_BaBpHReEcbBtKGdRqjD3_e31-uHa3BdsVN9Tl0dmA0y8waCVNxBK7Xy265YlGY3Cmf8mrfW_BtLT9hGOdehI2zT96HSZdNJ7EGUVrgtFKL87q0oX_l68KL8DrLbtYcq0gWh-f3QkSBs3YV7IID4aDGBsIgCfaGU0iThRVTF2ZLHFHro0ZpEa7d3wz_uQ1l7MN8COsKy4yErnh-N8xbFjrA0cK6073udZSMkwi7oSxxXksc0tNEh_nIan6OkCA-q1qL5IrRs0BKWje6GZbco20AG7f8cHLHREa_yHPOMFwmj0N85m0YVhG3GRjs2WL9RLpxZpAM8lrApuOgUnORZkQp5Qs6lkfgT6vuB3Ptwvw58dHrCz6bTZdDVSM5xY61Fs3fK3QktarQkujxjFF33du_YZBnlqZATwPEp4FKkUULTk3gSvVDNWFDh3J2R2JyPOsF5JtFP5RE-_zuClkJWCU0nBCWnBBUFK9OU_gUE9Wf_CONn6fob0FyILE2nfZNOmprxgqM4CXdnZNfgN_PqOrC3lqL1xp4HPhh8CPZo8iPQMas4RzFBzafaWFYi-ljzvMK8_JO5fiKZH5X2r2eoyAsRTZsne1PWLEH-J5rgHC3_b9nGrIoT5JN084ke0oJX8lQPtuuLea9abJSe_o_44MPY_BWrc2J4h_tbPwzeiXLb-1mf271VhRV2f6Mrc7Nrm_enjGl-6ceajWrOOPmvtn-QztpasQ-rp0T3nDRdrfT7--t43nk5rFWH6-XyySgJExqDr4swP4cpoNfimVvRtP7RGzN25pDFP9Qw-_3o1K9oVaXQvp4rws6Hv9-piEdRJY89E8YbOhWRKLK8HzPvRP9am5oznuV8Yr6cTjUpk_kHpxqWy5xOfLK3PjGm8PgYzB6dF9Y_7kZwH4mC8TRK9CZxxmQCg_93eS-RyeRg_fD-ZUtYVhqL_RyMx5Hn8J6ZyVUk8ygXM1wt-TLhWcTjdLZd5UWRZxmPBBNFtsyqqkp4iVm6TKNiKdPlTK0YZTFNlskyjpI4XXCe51WR0WxZ5iXnFYkp7oRqFq8PwVk_wq9yxjidNaLAxvWvdsY0PkO_SRgLj3i76of_oqsdiWmjnHdHL175BldnclUa3kztYZqfdbZZff610aP9TwAAAP__O6XvLQ">