Fix some sparc complex testsuite failures.
authorJim Wilson <wilson@cygnus.com>
Fri, 17 Jul 1998 11:22:40 +0000 (11:22 +0000)
committerJim Wilson <wilson@gcc.gnu.org>
Fri, 17 Jul 1998 11:22:40 +0000 (04:22 -0700)
* function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT.

From-SVN: r21251

gcc/ChangeLog
gcc/function.c

index 21e778c3eb4a004ec5cd69d34b7c5c5fda3e8703..487d4e945972fce654794d49c495751850873037 100644 (file)
@@ -1,3 +1,7 @@
+Fri Jul 17 11:21:55 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * 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.
index 67bbc698cfe8473a4faaab5feb2eff900a24e234..cf9542bfe9bc7ae6e87ea2e480c1428a8d044512 100644 (file)
@@ -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