https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91981
--- Comment #6 from Segher Boessenkool ---
Attempting shrink-wrapping optimization.
Block 2 needs the prologue.
(That's the entry block, already). And in fact it does need the prologue,
it has
movq%rdi, %rbx # 2 [c=4 l=3]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91981
--- Comment #5 from Segher Boessenkool ---
Okay, I can reproduce it now.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91981
--- Comment #4 from Antony Polukhin ---
It was broken in GCC-9, GCC-8.3 and below do not have this issue.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91981
--- Comment #3 from Segher Boessenkool ---
So this works just fine with a compiler from a year ago.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91981
--- Comment #2 from Segher Boessenkool ---
I didn't have an x86 C++ compiler handy, so I tried on powerpc. This
isn't a big problem there, since we do separate shrink-wrapping by
default on powerpc; disabling that makes this pretty bad here,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91981
Richard Biener changed:
What|Removed |Added
Target||x86_64-*-*, i?86-*-*