On 10/02/2012 01:01 AM, Jeff Law wrote:
On 09/27/2012 04:59 PM, Vladimir Makarov wrote:
The following patch adds a code neccessary for correct work of LRA
(function ira_setup_eliminable_regset) and for correct work of the
compiler when LRA is used (see file dwarf2out.c).
2012-09-27 Vladimir Makarov <vmaka...@redhat.com>
* loop-invariant.c (calculate_loop_reg_pressure): Pass new
argument to ira_setup_eliminable_regset.
* haifa-sched.c (sched_init): Pass new argument to
ira_setup_eliminable_regset.
* dwarf2out.c: Include lra.h.
(based_loc_descr, compute_frame_pointer_to_fb_displacement): Use
lra_eliminate_regs for LRA instead of eliminate_regs.
* ira.c: (ira_setup_eliminable_regset): Add parameter. Remove
need_fp. Call lra_init_elemination and mark
HARD_FRAME_POINTER_REGNUM as living forever if
frame_pointer_needed.
(ira): Call ira_setup_eliminable_regset with a new
argument.
* ira.h (ira_setup_eliminable_regset): Add an argument.
* Makefile.in (dwarf2out.o): Add dependence on ira.h and lra.h.
This is OK. Obviously it's useless without 7a/7b. But I just wanted
to go ahead and review the ancillary bits before going to the meat of
the submission.
So it's just the 7a/7b patch that needs review, right?
Right. I'll commit your and Richard Sandiford's proposals into the
branch. I'll commit some patches (which could be useful without LRA)
into the trunk too.
Thanks for reviewing all of this.