This patch series adds shrink-wrap support for PowerPC. The patches are on top of Bernd's "Initial shrink-wrapping patch": http://gcc.gnu.org/ml/gcc-patches/2011-08/msg02557.html, but with the tm.texi patch applied to tm.texi.in. Bootstrapped and regression tested powerpc64-linux all langs except ada, and spec CPU2006 tested. The spec results were a little disappointing as I expected to see some gains, but my baseline was a -O3 run and I suppose most of the shrink-wrap opportunities were lost to inlining.
I deliberately omitted defining RETURN_ADDR_REGNUM for PowerPC as I don't see why it is necessary to treat LR any differently to other regs saved by the prologue. I believe code in requires_stack_frame_p CLEAR_HARD_REG_SET (hardregs); note_stores (PATTERN (insn), record_hard_reg_sets, &hardregs); if (hard_reg_set_intersect_p (hardregs, prologue_used)) return true; will correctly pick up any set of LR. If code in a function body sets LR without saving and restoring around the use, then the prologue must save LR, so LR will be in prologue_used. -- Alan Modra Australia Development Lab, IBM