This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
PowerPC shrink-wrap support 0 of 3
- From: Alan Modra <amodra at gmail dot com>
- To: gcc-patches at gcc dot gnu dot org, Bernd Schmidt <bernds at codesourcery dot com>, David Edelsohn <dje dot gcc at gmail dot com>
- Date: Sat, 17 Sep 2011 16:46:43 +0930
- Subject: PowerPC shrink-wrap support 0 of 3
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