aboutsummaryrefslogtreecommitdiff
path: root/gcc/lra-assigns.c
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2014-09-09 15:10:39 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2014-09-09 15:10:39 +0000
commit0cc97fc5522a17788b0d47550f37d592ffca56ff (patch)
tree9fc7a0c191becf6398b01c789e1d25eaa063ba97 /gcc/lra-assigns.c
parentfcad3635f9cc635ebdd1f5b7ae2cd1586ac4511c (diff)
downloadgcc-0cc97fc5522a17788b0d47550f37d592ffca56ff.zip
gcc-0cc97fc5522a17788b0d47550f37d592ffca56ff.tar.gz
gcc-0cc97fc5522a17788b0d47550f37d592ffca56ff.tar.bz2
struct ira_reg_equiv_s's "init_insns" is an rtx_insn_list
gcc/ChangeLog: 2014-09-09 David Malcolm <dmalcolm@redhat.com> * ira.c (ira_update_equiv_info_by_shuffle_insn): Use NULL rather than NULL_RTX. (no_equiv): Likewise. (update_equiv_regs): Likewise. (setup_reg_equiv): Likewise. Strengthen locals "elem", "prev_elem", "next_elem" from rtx to rtx_insn_list *, and "insn" from rtx to rtx_insn *. Use methods of "elem" for typesafety and clarity. * ira.h (struct ira_reg_equiv_s): Strengthen field "init_insns" from rtx to rtx_insn_list *. * lra-assigns.c (spill_for): Strengthen local "x" from rtx to rtx_insn_list * and use methods for clarity and typesafety. * lra-constraints.c (contains_deleted_insn_p): Likewise for param "list". (init_insn_rhs_dead_pseudo_p): Likewise for local "insns". Remove redundant check on INSN_P (insns): this cannot hold, as "insns" is an INSN_LIST, not an insn. (reverse_equiv_p): Strengthen local "insns" from rtx to rtx_insn_list * and use methods for clarity and typesafety. (contains_reloaded_insn_p): Likewise for local "list". From-SVN: r215082
Diffstat (limited to 'gcc/lra-assigns.c')
-rw-r--r--gcc/lra-assigns.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/lra-assigns.c b/gcc/lra-assigns.c
index 88e0b1d..c7164cd 100644
--- a/gcc/lra-assigns.c
+++ b/gcc/lra-assigns.c
@@ -951,15 +951,15 @@ spill_for (int regno, bitmap spilled_pseudo_bitmap, bool first_p)
}
EXECUTE_IF_SET_IN_BITMAP (&spill_pseudos_bitmap, 0, spill_regno, bi)
{
- rtx x;
+ rtx_insn_list *x;
cost += lra_reg_info[spill_regno].freq;
if (ira_reg_equiv[spill_regno].memory != NULL
|| ira_reg_equiv[spill_regno].constant != NULL)
for (x = ira_reg_equiv[spill_regno].init_insns;
x != NULL;
- x = XEXP (x, 1))
- cost -= REG_FREQ_FROM_BB (BLOCK_FOR_INSN (XEXP (x, 0)));
+ x = x->next ())
+ cost -= REG_FREQ_FROM_BB (BLOCK_FOR_INSN (x->insn ()));
}
if (best_insn_pseudos_num > insn_pseudos_num
|| (best_insn_pseudos_num == insn_pseudos_num