OSDN Git Service

2008-09-03 Vladimir Makarov <vmakarov@redhat.com>
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 3 Sep 2008 20:12:27 +0000 (20:12 +0000)
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 3 Sep 2008 20:12:27 +0000 (20:12 +0000)
commitf0a46d8300adc51c430add3e640b289a8222c1b7
tree34828625de041218e77c7e6a51d132f68ec870bb
parente127107f190061fa55646729418f07cbd27b4524
2008-09-03  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-opt/37243

* ira-conflicts.c (REG_SUBREG_P, go_through_subreg): New.
(process_regs_for_copy): Process subregs.  Refine check when cost
is taken into account in ira-costs.c.
(process_reg_shuffles): Use REG_SUBREG_P.
(add_insn_allocno_copies): Ditto.  Ignore modes.

* ira-color.c (conflict_allocno_vec): New.
(COST_HOP_DIVISOR): New macro.
(update_copy_costs_1): Use it.
(update_conflict_hard_regno_costs): New function.
(assign_hard_reg): Use it.
(ira_color): Allocate and free conflict_allocno_vec.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139949 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/ira-color.c
gcc/ira-conflicts.c