aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@cygnus.com>1998-07-17 11:22:40 +0000
committerJim Wilson <wilson@gcc.gnu.org>1998-07-17 04:22:40 -0700
commit07362cb321f90d90cdac4b5c687721658bc524ee (patch)
tree791a83416cf14604d232c88d3d091110a96546ac
parent2fed503d0e35e825abb4c6d4bc0d6de50cfba141 (diff)
downloadgcc-07362cb321f90d90cdac4b5c687721658bc524ee.zip
gcc-07362cb321f90d90cdac4b5c687721658bc524ee.tar.gz
gcc-07362cb321f90d90cdac4b5c687721658bc524ee.tar.bz2
Fix some sparc complex testsuite failures.
* function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT. From-SVN: r21251
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/function.c5
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 21e778c..487d4e9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/function.c b/gcc/function.c
index 67bbc69..cf9542b 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