<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=http://email.email.llvm.org/c/eJylU8Fu4yAQ_Rp8QbEIjol98CFttteVVivtGZuJQ4vBAtxu9ut3sLNtHVXtYdF4DDPMmwfDtE5dmp9nHWjnFNAWjHuhPVjwMkKgMgQYWnOhYJW2PdWWelCTVdJGKpVCQ4h-6qJ2NhB2JOxw1YIt0o3jYln20VFqT8n-bjFSHDpBkeLG0r5ayP74Np91hGE0yI8U9_EygpUD5HlOD74PpPi27Hl2WtFWesKrlJJwQfj9siVNBQYQXt8Az0En5zBoYYUhCxler0nPxxjRNO9p33OcT3BCCEmR4DW2vEOZrNFPYC6kPKKsAdO40k2I7CtVr_Kl_K-XtS7Ah1X5XQkZhnX2dCMrQyeN-dCRCp-GDzPXrfjUvWNrt4f4CcVzjCNW8UD4A0rvVOtMzJ3vcfUHv7pQEE7Vr3OmmkLVRS0zOcWz880jeBguG69PT9pmkzfNDZaO56nNOzfgwpjnf7_N6N0jdBGXOoQJ8IE8lEVZiuzcCLHd16USgldQK9Sq2nZ7KLc7xkVZqMxIbJnQpPpybuGFzhA4xwJn_89AN5xxFFS8xKz5iYm2g6pjBdtWba3IjsEgtckTTrqmzDczZDvhS98xo0MMb07sZ91bgJkwMow6Gmh-vG_pkJp8873IZirNzOMvWPgl0A>53556</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Redundant adds in -O3
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
jeremy-rifkin
</td>
</tr>
</table>
<pre>
This code below generates assembly ending in redundant add instructions
```cpp
struct pair {
int a;
int b;
};
template<typename... Args>
void bar(pair&, Args&&...);
void foo(int a, int b) {
pair p{a, b};
if(a < b) [[unlikely]] {
bar(p, 0, 0, 0, 0, 0, 0, 0);
}
}
```
```x86asm
...
call ...
add rsp, 16
add rsp, 40
ret
```
https://godbolt.org/z/93desf8Wh
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyFU0tvnDAQ_jXmYi3ymoWFA4dNtrlWqir17McsODEY2Sbp9td3DNskRFFqDYM9z288Y-n0tf3Zm0CV00AlWPdCOxjBiwiBihBgkPZKYdRm7KgZqQc9j1qMkQqtURCin1U0bgyEnQk73XjFVlLTtEpWOzoJ4yk53q1CisukUKT4IJGvEnI8v-0XHmGYLOIjxX28TjCKAfI8pyffBVJ8W22endFUCk94nVISXhF-v5qkbYUOhDcfAi9OF-fQaUWFLisY3mxBL2VMKFps5HuMSwUXDCEoArz5lndI82jNE9grKc9I24Bp3eCmiOx_rNnkS_lfL2vbgE-78ruuRBi22dONbARKWPupIjU-LR8WrPvqS_WBbdUe4hcQ-xgn7OKJ8AekzmnpbMyd7_D0B7-m0BAu9a8-022hm6IRWTTRQvvj_VyGNKm770U2e9t-CGliP8tcuQEP1j7_--0m7x5BRTyaEGbAOXkoi7Kssr5lTKrqsq_3SpVSFRwkqw6y4OWxKpiq68wKfDmhTW3mfIQXuoTAPfY5My1nHAkZL8v9Ib-wSiqoFSvYvpaNJgcGgzA2TzhSrZlvF0hyxnE9MGtCDG9KfJSmGwGWdBhfzLF3vn0ED8N1583lyYzZAqBdCvgL3O4Q8Q">