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 <vmakarov@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.