diff options
author | Jakub Jelinek <jakub@redhat.com> | 2016-03-17 12:53:53 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2016-03-17 12:53:53 +0100 |
commit | 9bc057c8da4c460ffd067e5202d399fce6c8cbee (patch) | |
tree | aa8a16afdb4d9862a59c6cb53f3fe9990ab1bf61 /gcc/rtl.h | |
parent | ea913779b0921886a8d8503263f27e3ddfc1831b (diff) | |
download | gcc-9bc057c8da4c460ffd067e5202d399fce6c8cbee.zip gcc-9bc057c8da4c460ffd067e5202d399fce6c8cbee.tar.gz gcc-9bc057c8da4c460ffd067e5202d399fce6c8cbee.tar.bz2 |
re PR middle-end/70245 (Miscompilation of ICU on i386 with atom tuning starting with r227382)
PR target/70245
* rtl.h (replace_rtx): Add ALL_REGS argument.
* rtlanal.c (replace_rtx): Likewise. If true, use REGNO
equality and assert mode is the same, instead of just rtx pointer
equality.
* config/i386/i386.md (mov + arithmetics with load peephole): Pass
true as ALL_REGS argument to replace_rtx.
From-SVN: r234285
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r-- | gcc/rtl.h | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -3011,7 +3011,7 @@ extern bool can_nonlocal_goto (const rtx_insn *); extern void copy_reg_eh_region_note_forward (rtx, rtx_insn *, rtx); extern void copy_reg_eh_region_note_backward (rtx, rtx_insn *, rtx); extern int inequality_comparisons_p (const_rtx); -extern rtx replace_rtx (rtx, rtx, rtx); +extern rtx replace_rtx (rtx, rtx, rtx, bool = false); extern void replace_label (rtx *, rtx, rtx, bool); extern void replace_label_in_insn (rtx_insn *, rtx, rtx, bool); extern bool rtx_referenced_p (const_rtx, const_rtx); |