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

Reply via email to