(fixup_var_refs_insns): Don't delete an insn copying
authorRichard Stallman <rms@gnu.org>
Thu, 25 Mar 1993 05:43:12 +0000 (05:43 +0000)
committerRichard Stallman <rms@gnu.org>
Thu, 25 Mar 1993 05:43:12 +0000 (05:43 +0000)
var to itself, if it's the end of a libcall group.

From-SVN: r3873

gcc/function.c

index 473fcf301713f71c53147b85b3c821502d8976c0..b3a599a61a430c300e5f48eeb7143934f7c83990 100644 (file)
@@ -1012,6 +1012,9 @@ fixup_var_refs_insns (var, promoted_mode, unsignedp, insn, toplevel)
          if (toplevel
              && GET_CODE (PATTERN (insn)) == SET
              && SET_DEST (PATTERN (insn)) == var
+             /* If this represents the result of an insn group,
+                don't delete the insn.  */
+             && find_reg_note (insn, REG_RETVAL, NULL_RTX) == 0
              && rtx_equal_p (SET_SRC (PATTERN (insn)), var))
            {
              /* In unoptimized compilation, we shouldn't call delete_insn