[Bug rtl-optimization/98289] [8/9/10 Regression] [x86] Suboptimal optimization of stack usage when function call does not occur
amylaar at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jul 22 07:33:28 GMT 2024
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98289
--- Comment #7 from Jorn Wolfgang Rennecke <amylaar at gcc dot gnu.org> ---
Created attachment 58719
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=58719&action=edit
patch to fix internal compiler errors in shrink-wrap.cc on EDGE_CROSSING edges
I'm currently using this patch.
The only issue that remains for gcc.dg/torture/pr98289.c is that before
prologue/epilogue threading, there are four separate crossing jumps to labels
at the same location as lab. Without shrink wrapping, this gets cleaned up by
try_forward_edges (called from try_optimize_cfg, called from cleanup_cfg,
called from
pass_jump2::execute) . With shrink wrapping, the clean up doesn't happen or
has no
effect, so the clutter of all these crossing jumps in the non-cold partition
defeat the
purpose of the hot-cold partitioning.
More information about the Gcc-bugs
mailing list