Hello Alan, > On 24 Mar 2016, at 05:10, Alan Modra <amo...@gmail.com> wrote: > >> if (could_be_prologue_epilogue >> && prologue_epilogue_contains (insn)) >> continue;
> https://gcc.gnu.org/ml/gcc-patches/1999-08n/msg00048.html Ah, interesting, thanks! >> My rough understanding is that we probably really care about frame_related >> insns only here, at least on targets where the flag is supposed to be set >> accurately. > > Also, possibly just prologue insns. So you might be able to modify > init_alias_analysis just to ignore the prologue and skip any need for > yet another hook. Which would be good. > Let's see what rth thinks. Definitely. > He did say the patch might need to be redone. :) > https://gcc.gnu.org/ml/gcc-patches/1999-08n/msg00072.html And here we have a case :) > [snip] >> So, aside from the dependency issue which needs to be fixed somehow, I >> think it would make sense to consider using a strong blockage mecanism in >> expand_epilogue. > > That's what we both said here > https://gcc.gnu.org/ml/gcc-patches/2011-11/msg01180.html > > and David agreed too > https://gcc.gnu.org/ml/gcc-patches/2011-11/msg01842.html > > but if you can have the alias analysis changes accepted that would be > even better. I'd really like to come to a resolution we're confident is robust, because these are really very nasty bugs. To tell the truth, my current feeling is that relying on the frame_related bit still seems fragile (*) so I'd be happier with something stronger. (*) First, it's not easy to be positive that all the insns we'd need to catch are not frame_related, even if only looking at the current rs6000 epilogue expander. Second, it's very easy to consider flipping one such bit for whatever reason and not think about this kind of implications. Thanks for your feedback on this! Olivier