<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/82959>82959</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Clang][RISCV]fasynchronous-unwind-tables option enlarge code size
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Yunzezhu94
</td>
</tr>
</table>
<pre>
According to patch https://reviews.llvm.org/D145164, option fasynchronous-unwind-tables is enabled by default on RISCV and Linux. However, there are situations code size matters that when has -Oz or -Os, and fasynchronous-unwind-tables is still enabled by default, which will generate eh_frame section and enlarge code size. In my opinion disabling fasynchronous-unwind-tables by default on these optimization levels fits idea of reducing code size better.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyEkk-L2zAQxT-NfBlibNly4oMPuxtCFwoLLRR6KmNrYqnIUtCfuMmnLzJLl6Vle7INM2_ee_5hCHq2RAMTj0wcC0xROT98T_ZOd5X6thidvA0P0-S81HaG6OCCcVKgYrwE1jwwfmL85OmqaQ2lMdeldH5m_HSsW1F3LeNP4C5ROwtnDDc7Ke-sS2GX7Kqt3EUcDQXQAcjmVwnjDSSdMZkIzsKX569P3wCthM_apl8lfHIrXcln3ajIE6AnCDomzEcCTE7m7zvBgjGSDxAVRlgVWVAYYPdyB-dh9xKyRBb-j68QtTH_cJfXV6UnBWsemMmSx0hA6sfZ40IQaNpy5xtkDfqZ3tyV8GxhuYG7aJuHpA44mlzxR3bedxMVBdraXfR9iw-GrmQCnHUMoCUhuDN4kmnKym_VjJSrKQs5NLJveixoqPfVoecHLppCDQ2vUQjeNYjtQbTYHjpZiWYvmh6b81QXeuAVbyvOu6qr901TVs3Y7_uRy7ba866rWVvRgtr8QaLQISQaDrwXfWFwJBM26jifDNqZcZ4B9EOe341pDqytjA7xDaoi6mg2VJ-2DXFk4nHjg4njR6298vfXPyiSN8N7kGcdVRrLyS2Mn_Lh18fu4t1PmiLjpy1HYPy0RfkdAAD___V5HgI">