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

--- Comment #21 from Kazumoto Kojima <kkojima at gcc dot gnu.org> ---
(In reply to Oleg Endo from comment #20)
> Just for my understanding ... at which time does the modified expand pattern
> kick in?  Before RA, during RA or after RA?  It's a bit confusing, because
> operands[0] is already a hard-reg and operands[1] is supposed to be a pseudo
> ...

Before RA, during expand phase.  It's generated by function.c:
expand_function_end with
 emit_move_insn (crtl->return_rtx,
                 DECL_RTL (DECL_RESULT (current_function_decl))
essentially.  In this case, crtl->return_rtx is (reg/i:DI 0 r0).

Reply via email to