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