This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/37243] [4.4 Regression] IRA causes wrong code generation
- From: "vmakarov at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 3 Sep 2008 20:13:52 -0000
- Subject: [Bug middle-end/37243] [4.4 Regression] IRA causes wrong code generation
- References: <bug-37243-682@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #25 from vmakarov at gcc dot gnu dot org 2008-09-03 20:13 -------
Subject: Bug 37243
Author: vmakarov
Date: Wed Sep 3 20:12:27 2008
New Revision: 139949
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=139949
Log:
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.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-color.c
trunk/gcc/ira-conflicts.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37243