diff options
author | Jeff Law <law@gcc.gnu.org> | 2011-03-18 11:05:27 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2011-03-18 11:05:27 -0600 |
commit | 2a3d7659c5a172e3c7435c4018e8ee927330b3d3 (patch) | |
tree | 61a20d44630cbe323bdbc2912239f7d1d11835e4 /gcc | |
parent | 34c3ef054efc440eb684250ac8ee14b0b4121aeb (diff) | |
download | gcc-2a3d7659c5a172e3c7435c4018e8ee927330b3d3.zip gcc-2a3d7659c5a172e3c7435c4018e8ee927330b3d3.tar.gz gcc-2a3d7659c5a172e3c7435c4018e8ee927330b3d3.tar.bz2 |
ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost computation for prologue/epilogue.
* ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
computation for prologue/epilogue.
From-SVN: r171154
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/ira-color.c | 3 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 16fdd22..200cce8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-03-18 Georg-Johann Lay <avr@gjlay.de> + + * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost + computation for prologue/epilogue. + 2011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * Makefile.in (check-consistency): Remove. @@ -35,7 +40,7 @@ (--with-plugin-ld): Document. * doc/invoke.texi (-fuse-linker-plugin): Clarify. -2011-03-16 Andrew Pinski <pinskia@gmail.com> +2011-03-18 Andrew Pinski <pinskia@gmail.com> PR middle-end/47790 * expr.c (optimize_bitfield_assignment_op): Revamp to work diff --git a/gcc/ira-color.c b/gcc/ira-color.c index 5c98ef9..6024f7d 100644 --- a/gcc/ira-color.c +++ b/gcc/ira-color.c @@ -591,7 +591,8 @@ assign_hard_reg (ira_allocno_t a, bool retry_p) full_cost = full_costs[i]; #ifndef HONOR_REG_ALLOC_ORDER if (! allocated_hardreg_p[hard_regno] - && ira_hard_reg_not_in_set_p (hard_regno, mode, call_used_reg_set)) + && ira_hard_reg_not_in_set_p (hard_regno, mode, call_used_reg_set) + && !LOCAL_REGNO (hard_regno)) /* We need to save/restore the hard register in epilogue/prologue. Therefore we increase the cost. */ { |