diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2014-08-28 06:24:36 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2014-08-28 06:24:36 +0000 |
commit | 8d8e205b922741ad452fbe0750d2d8af8515c967 (patch) | |
tree | db4367ff6bcb7499b02a7ff3447bdf9b75a3d5e3 /gcc/dse.c | |
parent | f7d0b0fc77b26e5fa6872678099576e875d87ed5 (diff) | |
download | gcc-8d8e205b922741ad452fbe0750d2d8af8515c967.zip gcc-8d8e205b922741ad452fbe0750d2d8af8515c967.tar.gz gcc-8d8e205b922741ad452fbe0750d2d8af8515c967.tar.bz2 |
rtl.h (for_each_inc_dec_fn): Remove special case for -1.
gcc/
* rtl.h (for_each_inc_dec_fn): Remove special case for -1.
(for_each_inc_dec): Take an rtx rather than an rtx *.
* cselib.c (cselib_record_autoinc_cb): Update accordingly.
(cselib_record_sets): Likewise.
* dse.c (emit_inc_dec_insn_before, check_for_inc_dec_1)
(check_for_inc_dec): Likewise.
* rtlanal.c (for_each_inc_dec_ops): Delete.
(for_each_inc_dec_find_inc_dec): Take the MEM as argument,
rather than a pointer to the memory address. Replace
for_each_inc_dec_ops argument with separate function and data
arguments. Abort on non-autoinc addresses.
(for_each_inc_dec_find_mem): Delete.
(for_each_inc_dec): Take an rtx rather than an rtx *. Use
FOR_EACH_SUBRTX_VAR to visit every autoinc MEM.
From-SVN: r214657
Diffstat (limited to 'gcc/dse.c')
-rw-r--r-- | gcc/dse.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -894,7 +894,7 @@ emit_inc_dec_insn_before (rtx mem ATTRIBUTE_UNUSED, emit_insn_before (new_insn, insn); - return -1; + return 0; } /* Before we delete INSN_INFO->INSN, make sure that the auto inc/dec, if it @@ -907,7 +907,8 @@ check_for_inc_dec_1 (insn_info_t insn_info) rtx_insn *insn = insn_info->insn; rtx note = find_reg_note (insn, REG_INC, NULL_RTX); if (note) - return for_each_inc_dec (&insn, emit_inc_dec_insn_before, insn_info) == 0; + return for_each_inc_dec (PATTERN (insn), emit_inc_dec_insn_before, + insn_info) == 0; return true; } @@ -926,7 +927,8 @@ check_for_inc_dec (rtx_insn *insn) insn_info.fixed_regs_live = NULL; note = find_reg_note (insn, REG_INC, NULL_RTX); if (note) - return for_each_inc_dec (&insn, emit_inc_dec_insn_before, &insn_info) == 0; + return for_each_inc_dec (PATTERN (insn), emit_inc_dec_insn_before, + &insn_info) == 0; return true; } |