diff options
author | Kito Cheng <kito@0xlab.org> | 2014-09-16 05:24:31 +0000 |
---|---|---|
committer | Chung-Ju Wu <jasonwucj@gcc.gnu.org> | 2014-09-16 05:24:31 +0000 |
commit | 9994ad20a13463bf79f22f439a072df3de23f238 (patch) | |
tree | 888fab7a9d704ecd3cc31759ba700f627ea476f9 /gcc/ira.c | |
parent | a86507b29ec2520c70b12c84f4e6c1098f1a3fc0 (diff) | |
download | gcc-9994ad20a13463bf79f22f439a072df3de23f238.zip gcc-9994ad20a13463bf79f22f439a072df3de23f238.tar.gz gcc-9994ad20a13463bf79f22f439a072df3de23f238.tar.bz2 |
Clean up useless initialization for IRA if using LRA.
gcc/
* ira.c (ira): Don't initialize ira_spilled_reg_stack_slots and
ira_spilled_reg_stack_slots_num if using lra.
(do_reload): Remove release ira_spilled_reg_stack_slots part.
* ira-color.c (ira_sort_regnos_for_alter_reg): Add assertion to
make sure not using lra.
(ira_reuse_stack_slot): Likewise.
(ira_mark_new_stack_slot): Likewise.
From-SVN: r215286
Diffstat (limited to 'gcc/ira.c')
-rw-r--r-- | gcc/ira.c | 21 |
1 files changed, 10 insertions, 11 deletions
@@ -5260,14 +5260,16 @@ ira (FILE *f) #ifdef ENABLE_IRA_CHECKING print_redundant_copies (); #endif - - ira_spilled_reg_stack_slots_num = 0; - ira_spilled_reg_stack_slots - = ((struct ira_spilled_reg_stack_slot *) - ira_allocate (max_regno - * sizeof (struct ira_spilled_reg_stack_slot))); - memset (ira_spilled_reg_stack_slots, 0, - max_regno * sizeof (struct ira_spilled_reg_stack_slot)); + if (! ira_use_lra_p) + { + ira_spilled_reg_stack_slots_num = 0; + ira_spilled_reg_stack_slots + = ((struct ira_spilled_reg_stack_slot *) + ira_allocate (max_regno + * sizeof (struct ira_spilled_reg_stack_slot))); + memset (ira_spilled_reg_stack_slots, 0, + max_regno * sizeof (struct ira_spilled_reg_stack_slot)); + } } allocate_initial_values (); @@ -5303,9 +5305,6 @@ do_reload (void) FOR_ALL_BB_FN (bb, cfun) bb->loop_father = NULL; current_loops = NULL; - - if (ira_conflicts_p) - ira_free (ira_spilled_reg_stack_slots); ira_destroy (); |