On Tue, Nov 08, 2011 at 11:37:57AM +0100, Olivier Hainque wrote:
>  Joseph resorted to mem:scratch to impose a strong barrier. That's certainly
>  safe and I don't think the performance impact can be significant, so this
>  looks like a good way out.

I agree.  Our fancy powerpc stack deallocation barriers rely too much
on alias analysis, which as you've shown (thanks!) isn't reliable in
this instance.  Other targets just use the mem:scratch barrier.

>  I tried an approach in between here: replace the stack_tie insn by a
>  frame_tie insn with frame_base_rtx as the second base. In the case above,
>  with frame_base_rtx==r11, this is something like
> 
>   (set (mem/c:BLK (reg:SI 11 11) [0 A8])
>         (unspec:BLK [
>                 (mem/c:BLK (reg:SI 11 11) [0 A8])
>                 (mem/c:BLK (reg/f:SI 1 1) [0 A8])

Looks similar to
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30282#c15

-- 
Alan Modra
Australia Development Lab, IBM

Reply via email to