<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/66917>66917</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Linker][Opt] opt delete the `main` func of llvm ir
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
LRY89757
</td>
</tr>
</table>
<pre>
```llvm
define internal i32 @func() {
; Function body
br label %b
b:
unreachable
}
define linkonce_odr void @main() {
entry:
%call = call i32 @func()
ret void
}
```
It will delete the `main` func and then the linker can't find the main symbol
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8kk9r3DAQxT_N-DJkkcf_ooMPWYyhECj01lOR7PFarVZaZDkh375I7tIlhYLBYp70-M3MU9tmLo65h-YMzVCoPa4-9K_fvj_LrukK7eePHlpxfNa-XUEMIF5mXoxjNC5ycMqiqQihFsvuJqBnIInQnY-riFCdcdzdFI13mBzvgg5olWaLQI0-ihqql7u8u8BqWpW2fJSgG_4cHiGscb-8m_iHnwO-eTMnkqsy7jMJuxg-HvyBmklZi1ANmA__dHG_GThm588Y98E8Un2J-G6sxZktR8a4MkJ78LQCkzcqN6e6y2LC54CTckBdxMUcIqYXiNvHVXtbzH01y0qqgvuylQ1RRWVdrH2nl4qqRdUkmUXJc_u8qLZe2oWXspVcmJ4EVUKSKBsSZX3SWnWilDOpSiopa6gFX5Wxp7Tckw-Xwmzbzn3byrIr8nq2nA4ix--YRSBKYQl9evOk98sGtbBmi9tfl2iizbF6zf1BM0Bz_nqL0Azob_F_4_ELJhs0odiD7dcYb1taG41A48XEddenyV-BxhzI4_d0C_4nTxFozIwb0Jh7-B0AAP__6FDbbA">