[Bug rtl-optimization/120838] New: lra-eliminations: sp offsets are not reversible

aoliva at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Jun 27 00:41:24 GMT 2025


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120838

            Bug ID: 120838
           Summary: lra-eliminations: sp offsets are not reversible
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: aoliva at gcc dot gnu.org
                CC: vmakarov at gcc dot gnu.org
  Target Milestone: ---

Bootstrapping gcc with ix86_frame_pointer_required modified so as to return
true on nonzero frame sizes (see PR120424) requires -maccumulate-outgoing-args
to avoid varying sp within function bodies.

Without that flag, SP offsets are applied to insns in function call sequences
that pass arguments on the stack, and we can't reverse them when the
elimination becomes unavailable.

We now have asserts in place to detect these cases, instead of silently
generating wrong code, but it would be more desirable to be able to reverse
them.


More information about the Gcc-bugs mailing list