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
This commit is contained in:
parent
a86507b29e
commit
9994ad20a1
|
@ -1,3 +1,13 @@
|
|||
2014-09-16 Kito Cheng <kito@0xlab.org>
|
||||
|
||||
* 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.
|
||||
|
||||
2014-09-15 Andi Kleen <ak@linux.intel.com>
|
||||
|
||||
* function.c (allocate_struct_function): Force
|
||||
|
|
|
@ -4067,6 +4067,8 @@ ira_sort_regnos_for_alter_reg (int *pseudo_regnos, int n,
|
|||
ira_allocno_iterator ai;
|
||||
ira_allocno_t *spilled_coalesced_allocnos;
|
||||
|
||||
ira_assert (! ira_use_lra_p);
|
||||
|
||||
/* Set up allocnos can be coalesced. */
|
||||
coloring_allocno_bitmap = ira_allocate_bitmap ();
|
||||
for (i = 0; i < n; i++)
|
||||
|
@ -4416,6 +4418,8 @@ ira_reuse_stack_slot (int regno, unsigned int inherent_size,
|
|||
bitmap_iterator bi;
|
||||
struct ira_spilled_reg_stack_slot *slot = NULL;
|
||||
|
||||
ira_assert (! ira_use_lra_p);
|
||||
|
||||
ira_assert (inherent_size == PSEUDO_REGNO_BYTES (regno)
|
||||
&& inherent_size <= total_size
|
||||
&& ALLOCNO_HARD_REGNO (allocno) < 0);
|
||||
|
@ -4528,6 +4532,8 @@ ira_mark_new_stack_slot (rtx x, int regno, unsigned int total_size)
|
|||
int slot_num;
|
||||
ira_allocno_t allocno;
|
||||
|
||||
ira_assert (! ira_use_lra_p);
|
||||
|
||||
ira_assert (PSEUDO_REGNO_BYTES (regno) <= total_size);
|
||||
allocno = ira_regno_allocno_map[regno];
|
||||
slot_num = -ALLOCNO_HARD_REGNO (allocno) - 2;
|
||||
|
|
21
gcc/ira.c
21
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 ();
|
||||
|
||||
|
|
Loading…
Reference in New Issue