re PR rtl-optimization/50107 ([IRA, i386] allocates registers in very non-optimal...
authorVladimir Makarov <vmakarov@redhat.com>
Thu, 18 Aug 2011 14:56:36 +0000 (14:56 +0000)
committerVladimir Makarov <vmakarov@gcc.gnu.org>
Thu, 18 Aug 2011 14:56:36 +0000 (14:56 +0000)
commit9181a6e5b0beb4486bcd8c5d5b53d6e10cfc89ad
tree7665fff80006b4ee0895413a6c4f561a0d006144
parent99114bbfa1de1c286fffef4b0dff20a360066e2a
re PR rtl-optimization/50107 ([IRA, i386] allocates registers in very non-optimal way)

2011-08-17  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/50107
* ira-int.h (ira_hard_reg_not_in_set_p): Remove.
(ira_hard_reg_in_set_p): New.

* ira-color.c (calculate_saved_nregs): New.
(assign_hard_reg): Use it.  Set up allocated_hard_reg_p for all
hard regs.
(allocno_reload_assign, fast_allocation): Use
ira_hard_reg_set_intersection_p instead of
ira_hard_reg_not_in_set_p.

* ira.c (setup_reg_renumber): Use
ira_hard_reg_set_intersection_p instead of
ira_hard_reg_not_in_set_p.
(setup_allocno_assignment_flags, calculate_allocation_cost): Use
ira_hard_reg_in_set_p instead of ira_hard_reg_not_in_set_p.

* ira-costs.c (ira_tune_allocno_costs): Use
ira_hard_reg_set_intersection_p instead of
ira_hard_reg_not_in_set_p.

From-SVN: r177865
gcc/ChangeLog
gcc/ira-color.c
gcc/ira-costs.c
gcc/ira-int.h
gcc/ira.c