aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
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 /gcc/function.c
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
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c5
1 files changed, 4 insertions, 1 deletions
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