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

--- Comment #9 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Uroš Bizjak from comment #8)
> (In reply to Andrew Pinski from comment #7)
> 
> > It is the moving insn that is the issue.
> Please see _.325r.late_combine2 dump, there are *two* equal instructions (as
> reported in Comment #5). The compiler is not moving the insn, but copying
> it. (insn 338) is exact copy of (insn 176), including REG_ARGS_SIZE expr.

The instruction #s are different for me. I don't have a `insn 338` in the dump
I am looking at.

Anyways it looks like late_combine moved the final stack adjustment from the
end of the function (right before the return) to before the call which is
definitely wrong. I don't see a copy happening as there was a stack adjustment
in .reload at the end of the function too.  I wonder if call is not being
marked as changing the stack pointer.

Reply via email to