[Bug target/82935] Unnecessary "sub rsp, 8", "call" and "add rsp, 8" instructions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82935 --- Comment #6 from Jakub Jelinek --- Well, clang uses a tail call, and we don't. And the reason why we don't is that the call is introduced only during expansion and doesn't therefore have the GF_CALL_TAILCALL flag set (CALL_EXPR_TAILCALL on the CALL_EXPR). The options I see (Richard, any preferences?): 1) turn aggregate assignments during the tailcall pass if at tailcall positions into calls and set the flag 2) introduce a flag like GF_CALL_TAILCALL on structure assignment statements or aggregate clearing, compute it during tailcall pass and check that flag during aggregate copy/clear expansion 3) perform the analysis the tailcall pass does during expansion of aggregate assignment or aggregate clearing
[Bug target/82935] Unnecessary "sub rsp, 8", "call" and "add rsp, 8" instructions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82935 Andrew Pinski changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |DUPLICATE --- Comment #5 from Andrew Pinski --- Dup of bug 41455. *** This bug has been marked as a duplicate of bug 41455 ***
[Bug target/82935] Unnecessary "sub rsp, 8", "call" and "add rsp, 8" instructions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82935 --- Comment #4 from Marc Glisse --- We keep *a1_2(D) = *a2_3(D); and only at expansion time turn it into a call to memcpy, so the gimple pass that detects tail calls doesn't have a chance to notice this case.
[Bug target/82935] Unnecessary "sub rsp, 8", "call" and "add rsp, 8" instructions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82935 --- Comment #3 from Uroš Bizjak --- (In reply to Antony Polukhin from comment #2) > Because Clang does not generate them. So, the Earth is flat because someone says, too?
[Bug target/82935] Unnecessary "sub rsp, 8", "call" and "add rsp, 8" instructions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82935 --- Comment #2 from Antony Polukhin --- > Why do you think these instructions are not needed? Because Clang does not generate them.
[Bug target/82935] Unnecessary "sub rsp, 8", "call" and "add rsp, 8" instructions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82935 --- Comment #1 from Uroš Bizjak --- Why do you think these instructions are not needed?