diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2008-09-03 20:12:27 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2008-09-03 20:12:27 +0000 |
commit | a7f32992e310ba052e04f24dfb8a54a4bc59c35b (patch) | |
tree | 34828625de041218e77c7e6a51d132f68ec870bb /gcc/tree.c | |
parent | 204853a7651de3a2590daf4139cc65d6b6cc814d (diff) | |
download | gcc-a7f32992e310ba052e04f24dfb8a54a4bc59c35b.zip gcc-a7f32992e310ba052e04f24dfb8a54a4bc59c35b.tar.gz gcc-a7f32992e310ba052e04f24dfb8a54a4bc59c35b.tar.bz2 |
re PR middle-end/37243 (IRA causes wrong code generation)
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.
From-SVN: r139949
Diffstat (limited to 'gcc/tree.c')
0 files changed, 0 insertions, 0 deletions