aboutsummaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorChristian Iseli <Christian.Iseli@lslsun.epfl.ch>1997-12-17 00:12:32 +0100
committerJeff Law <law@gcc.gnu.org>1997-12-16 16:12:32 -0700
commitbe3d27d60c60bebc572a0d2001dce5ee8c35c75e (patch)
treedc97bbed39c75079b4af770d9ac8932b6340194a /gcc/combine.c
parentade7386a03439cde2997eb321da42f0f77c771f4 (diff)
downloadgcc-be3d27d60c60bebc572a0d2001dce5ee8c35c75e.zip
gcc-be3d27d60c60bebc572a0d2001dce5ee8c35c75e.tar.gz
gcc-be3d27d60c60bebc572a0d2001dce5ee8c35c75e.tar.bz2
* combine.c (force_to_mode): return immediately if operand is a CLOBBER.
From-SVN: r17121
Diffstat (limited to 'gcc/combine.c')
-rw-r--r--gcc/combine.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index 339c949..a17c999 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -6064,8 +6064,11 @@ force_to_mode (x, mode, mask, reg, just_select)
/* If this is a CALL or ASM_OPERANDS, don't do anything. Some of the
code below will do the wrong thing since the mode of such an
- expression is VOIDmode. */
- if (code == CALL || code == ASM_OPERANDS)
+ expression is VOIDmode.
+
+ Also do nothing if X is a CLOBBER; this can happen if X was
+ the return value from a call to gen_lowpart_for_combine. */
+ if (code == CALL || code == ASM_OPERANDS || code == CLOBBER)
return x;
/* We want to perform the operation is its present mode unless we know