Hi!

On Thu, Jul 22, 2021 at 03:04:32PM +0200, Richard Biener wrote:
> On Thu, Jul 22, 2021 at 9:02 AM Bin.Cheng via Gcc-patches
> <gcc-patches@gcc.gnu.org> wrote:
> >
> > Gentle ping.  Any suggestions would be appreciated.

Bin: I never received your messages.  And my replies to you @alibaba are
refused by the mail system there as well.

I'll dig things up from the ML archives.

> So just to say something - does the existing code mean that any use of
> the alias info on prologue/epilogue insns is wrong?  We have
> 
>   /* The prologue/epilogue insns are not threaded onto the
>      insn chain until after reload has completed.  Thus,
>      there is no sense wasting time checking if INSN is in
>      the prologue/epilogue until after reload has completed.  */
>   bool could_be_prologue_epilogue = ((targetm.have_prologue ()
>                                       || targetm.have_epilogue ())
>                                      && reload_completed);
> 
> so when !could_be_prologue_epilogue then passes shouldn't run into
> them if the comment is correct.  But else even epilogue stmts could appear
> anywhere (like scheduled around)?  So why's skipping those OK?
> 
> Are passes supposed to check whether they are dealing with pro/epilogue
> insns and not touch them?  CCing people that might know.

*logue isns should not exist until pass pro_and_epilogue.  This pass is
later than reload.

All such stack accesses use gen_frame_mem(), which does
  set_mem_alias_set (mem, get_frame_alias_set ());
so what is going wrong here?


Segher

Reply via email to