diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 21e778c3eb4..487d4e94597 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Fri Jul 17 11:21:55 1998 Jim Wilson + + * function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT. + Fri Jul 17 11:48:55 1998 Jeffrey A Law (law@cygnus.com) * mn10300.c (MODES_TIEABLE_P): Fix typo. diff --git a/gcc/function.c b/gcc/function.c index 67bbc698cfe..cf9542bfe9b 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -1661,7 +1661,10 @@ fixup_var_refs_insns (var, promoted_mode, unsignedp, insn, toplevel) If it has a REG_LIBCALL note, delete the REG_LIBCALL and REG_RETVAL notes too. */ if (GET_CODE (PATTERN (insn)) == CLOBBER - && XEXP (PATTERN (insn), 0) == var) + && (XEXP (PATTERN (insn), 0) == var + || (GET_CODE (XEXP (PATTERN (insn), 0)) == CONCAT + && (XEXP (XEXP (PATTERN (insn), 0), 0) == var + || XEXP (XEXP (PATTERN (insn), 0), 1) == var)))) { if ((note = find_reg_note (insn, REG_LIBCALL, NULL_RTX)) != 0) /* The REG_LIBCALL note will go away since we are going to