aboutsummaryrefslogtreecommitdiff
path: root/gcc/ira.c
diff options
context:
space:
mode:
authorKito Cheng <kito@0xlab.org>2014-09-16 05:24:31 +0000
committerChung-Ju Wu <jasonwucj@gcc.gnu.org>2014-09-16 05:24:31 +0000
commit9994ad20a13463bf79f22f439a072df3de23f238 (patch)
tree888fab7a9d704ecd3cc31759ba700f627ea476f9 /gcc/ira.c
parenta86507b29ec2520c70b12c84f4e6c1098f1a3fc0 (diff)
downloadgcc-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.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/gcc/ira.c b/gcc/ira.c
index dc69a9c..f377f7d 100644
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -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 ();