From b71e8e8477eb854aed39b89a3bc5f9107a4b28ee Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Fri, 16 Feb 2001 19:14:09 +0000 Subject: [PATCH] recog.c (validate_replace_rtx): Replace in operands of ZERO_EXTRACT in SET_DEST. * recog.c (validate_replace_rtx): Replace in operands of ZERO_EXTRACT in SET_DEST. From-SVN: r39773 --- gcc/ChangeLog | 3 +++ gcc/recog.c | 11 +++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ec4bd1faa5a..44b5be5ce17 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -8,6 +8,9 @@ Fri Feb 16 12:41:30 2001 Richard Kenner + * recog.c (validate_replace_rtx): Replace in operands of + ZERO_EXTRACT in SET_DEST. + * cse.c (new_label_ref): New variable. (insert): Set it instead of recorded_label_ref. (cse_basic_block): Set recorded_label_ref if new_label_ref use, has diff --git a/gcc/recog.c b/gcc/recog.c index 4dab907c848..f778f60c509 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -732,8 +732,7 @@ validate_replace_rtx (from, to, insn) return apply_change_group (); } -/* Try replacing every occurrence of FROM in INSN with TO. After all - changes have been made, validate by seeing if INSN is still valid. */ +/* Try replacing every occurrence of FROM in INSN with TO. */ void validate_replace_rtx_group (from, to, insn) @@ -758,6 +757,14 @@ validate_replace_src (from, to, insn) if (GET_CODE (SET_DEST (PATTERN (insn))) == MEM) validate_replace_rtx_1 (&XEXP (SET_DEST (PATTERN (insn)), 0), from, to, insn); + else if (GET_CODE (SET_DEST (PATTERN (insn))) == ZERO_EXTRACT) + { + validate_replace_rtx_1 (&XEXP (SET_DEST (PATTERN (insn)), 1), + from, to, insn); + validate_replace_rtx_1 (&XEXP (SET_DEST (PATTERN (insn)), 2), + from, to, insn); + } + return apply_change_group (); } -- 2.30.2