<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/60368>60368</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Missed function specialization
</td>
</tr>
<tr>
<th>Labels</th>
<td>
missed-optimization
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
labrinea
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
davidbolvansky
</td>
</tr>
</table>
<pre>
```
int __attribute__ ((noinline))
foo (int arg)
{
return 2 * arg;
}
int
bar (int arg)
{
return foo (5);
}
```
Since Func Specialization pass was enabled, I would expect gcc-like codegen:
```
foo.constprop.0:
mov eax, 10
ret
foo:
lea eax, [rdi+rdi]
ret
bar:
jmp foo.constprop.0
```
https://godbolt.org/z/Yod4rfhvs
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMU0tvrCwY_jW4IWPwVRxduOh8jcm3OKuuzmrC5dWhRTCA08uvP9F62vSWHEOAyHN5gQcRoxkdYkf4iQBYIYNxKAgA4beZWNLFh06Lq9HS26tw8eE5k14_d6Rme2O3hN289sYlej6LlIKRS8LzmRJoCDTOG2eNQwLt2jbs4P26ulJEGN9-k-PpdUJpwLQER4ESuNkw5ekv5vaT6-tEivBvkrs3XyE_iH67vzvjFNJ-cYrezaiMsOZFJOMdnUWM9FFEik5Ii5rAf_R_-ugXqyk-zagSHZU6WPOAVHmNIzpSfm81eJ8r72Kag59z9gaj-zf5K0XxtDoU7ONSwPSm8YVnUWzjziX8FLQhsPV83_u7ghThi8L9NNPP1f18WJeU5rhqQE-gH_2aoJT79WL6FwL9b6-rMFyuMdNdqduyFRl2RX3krGjLhmeXjmlQg2yLqmANsAY410IPyJnW0HJVZqYDBiUroC1a1lY8hxZkVdVVc1T1kZc1qRhOwtjc2uu0emcmxgW7mpV1k1kh0cY9-pOJEfXBz8lM-63uryB0K_sglzGSilkTU3zXSyZZ7H5tZDosTm1xiB_SkS3Bdp-Ow6TLInPlJwL9KrYPhzn4e1SJQL9VGgn0W7F_AgAA___3Yg8C">