* combine.c (force_to_mode): return immediately if operand is a CLOBBER.
authorChristian Iseli <Christian.Iseli@lslsun.epfl.ch>
Tue, 16 Dec 1997 23:12:32 +0000 (00:12 +0100)
committerJeff Law <law@gcc.gnu.org>
Tue, 16 Dec 1997 23:12:32 +0000 (16:12 -0700)
From-SVN: r17121

gcc/ChangeLog
gcc/combine.c

index 64ba2e69e0da5b41898c26499c787f132a0aa8f3..8ebc8449f91c0b192a24638dbd97d37e7cb0b6cb 100644 (file)
@@ -1,3 +1,7 @@
+Wed Dec 17 00:13:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
+
+       * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
+
 Tue Dec 16 23:44:54 1997  Manfred Hollstein  <manfred@s-direktnet.de>
 
        * fixincludes (size_t): Add support for Motorola's stdlib.h
index 339c94943cda2f6e52e856798a03bb57656f7011..a17c999a85b354a5ff7ab46c748ae54f1d9df20c 100644 (file)
@@ -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