diff options
author | David Malcolm <dmalcolm@redhat.com> | 2014-09-09 15:10:39 +0000 |
---|---|---|
committer | David Malcolm <dmalcolm@gcc.gnu.org> | 2014-09-09 15:10:39 +0000 |
commit | 0cc97fc5522a17788b0d47550f37d592ffca56ff (patch) | |
tree | 9fc7a0c191becf6398b01c789e1d25eaa063ba97 /gcc/ira.c | |
parent | fcad3635f9cc635ebdd1f5b7ae2cd1586ac4511c (diff) | |
download | gcc-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/ira.c')
-rw-r--r-- | gcc/ira.c | 18 |
1 files changed, 10 insertions, 8 deletions
@@ -2605,7 +2605,7 @@ ira_update_equiv_info_by_shuffle_insn (int to_regno, int from_regno, rtx_insn *i ira_reg_equiv[to_regno].memory = ira_reg_equiv[to_regno].constant = ira_reg_equiv[to_regno].invariant - = ira_reg_equiv[to_regno].init_insns = NULL_RTX; + = ira_reg_equiv[to_regno].init_insns = NULL; if (internal_flag_ira_verbose > 3 && ira_dump_file != NULL) fprintf (ira_dump_file, " Invalidating equiv info for reg %d\n", to_regno); @@ -3259,7 +3259,7 @@ no_equiv (rtx reg, const_rtx store ATTRIBUTE_UNUSED, if (reg_equiv[regno].is_arg_equivalence) return; ira_reg_equiv[regno].defined_p = false; - ira_reg_equiv[regno].init_insns = NULL_RTX; + ira_reg_equiv[regno].init_insns = NULL; for (; list; list = XEXP (list, 1)) { rtx insn = XEXP (list, 0); @@ -3732,7 +3732,7 @@ update_equiv_regs (void) reg_equiv[regno].init_insns = XEXP (reg_equiv[regno].init_insns, 1); - ira_reg_equiv[regno].init_insns = NULL_RTX; + ira_reg_equiv[regno].init_insns = NULL; bitmap_set_bit (cleared_regs, regno); } /* Move the initialization of the register to just before @@ -3820,15 +3820,17 @@ static void setup_reg_equiv (void) { int i; - rtx elem, prev_elem, next_elem, insn, set, x; + rtx_insn_list *elem, *prev_elem, *next_elem; + rtx_insn *insn; + rtx set, x; for (i = FIRST_PSEUDO_REGISTER; i < ira_reg_equiv_len; i++) for (prev_elem = NULL, elem = ira_reg_equiv[i].init_insns; elem; prev_elem = elem, elem = next_elem) { - next_elem = XEXP (elem, 1); - insn = XEXP (elem, 0); + next_elem = elem->next (); + insn = elem->insn (); set = single_set (insn); /* Init insns can set up equivalence when the reg is a destination or @@ -3897,7 +3899,7 @@ setup_reg_equiv (void) if (ira_reg_equiv[i].memory == NULL_RTX) { ira_reg_equiv[i].defined_p = false; - ira_reg_equiv[i].init_insns = NULL_RTX; + ira_reg_equiv[i].init_insns = NULL; break; } } @@ -3907,7 +3909,7 @@ setup_reg_equiv (void) } } ira_reg_equiv[i].defined_p = false; - ira_reg_equiv[i].init_insns = NULL_RTX; + ira_reg_equiv[i].init_insns = NULL; break; } } |