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

--- Comment #7 from Alex Coplan <acoplan at gcc dot gnu.org> ---
After discussing with Richard S (thanks!), I think the problem is using
REG_CFA_OFFSET in aarch64_save_callee_saves is too brittle: it is always
required to be expressed in terms of the current CFA reg instead of e.g. just
the stack pointer. Before switching to the unspec pair representation the code
in dwarf2cfi could directly interpret the RTL and could keep track of things
itself.  We can restore that behaviour with the new (unspec) representation by
using REG_FRAME_RELATED_EXPR instead (which simply gives dwarf2cfi an
alternative pattern to look at).

Testing a patch.

Reply via email to