combine.c (rtx_equal_for_field_assignment_p): Check for get_last_value returning...
authorJeff Law <law@gcc.gnu.org>
Sun, 4 Aug 1996 05:26:17 +0000 (23:26 -0600)
committerJeff Law <law@gcc.gnu.org>
Sun, 4 Aug 1996 05:26:17 +0000 (23:26 -0600)
        * combine.c (rtx_equal_for_field_assignment_p): Check for
        get_last_value returning (CLOBBER (CONST_INT 0)).

From-SVN: r12590

gcc/combine.c

index 03b86449355bb61becebb939dc227d7e7d9ef242..796a7c24cdd3bc1bc1a017c992ab9e1e4cba728e 100644 (file)
@@ -6569,9 +6569,15 @@ rtx_equal_for_field_assignment_p (x, y)
   last_x = get_last_value (x);
   last_y = get_last_value (y);
 
-  return ((last_x != 0 && rtx_equal_for_field_assignment_p (last_x, y))
-         || (last_y != 0 && rtx_equal_for_field_assignment_p (x, last_y))
+  return ((last_x != 0
+          && GET_CODE (last_x) != CLOBBER
+          && rtx_equal_for_field_assignment_p (last_x, y))
+         || (last_y != 0
+             && GET_CODE (last_y) != CLOBBER
+             && rtx_equal_for_field_assignment_p (x, last_y))
          || (last_x != 0 && last_y != 0
+             && GET_CODE (last_x) != CLOBBER
+             && GET_CODE (last_y) != CLOBBER
              && rtx_equal_for_field_assignment_p (last_x, last_y)));
 }
 \f