diff options
author | Jeff Law <law@gcc.gnu.org> | 1996-08-03 23:26:17 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1996-08-03 23:26:17 -0600 |
commit | 0f47edd345be048d7b7a787dda85306b26c0d510 (patch) | |
tree | 36a7c080239c038ed3678699c5466e1ac6fdc576 /gcc | |
parent | 292099cc6762633f98b4a8a1ad74f62f5b8cc9f5 (diff) | |
download | gcc-0f47edd345be048d7b7a787dda85306b26c0d510.zip gcc-0f47edd345be048d7b7a787dda85306b26c0d510.tar.gz gcc-0f47edd345be048d7b7a787dda85306b26c0d510.tar.bz2 |
combine.c (rtx_equal_for_field_assignment_p): Check for get_last_value returning (CLOBBER (CONST_INT 0)).
* combine.c (rtx_equal_for_field_assignment_p): Check for
get_last_value returning (CLOBBER (CONST_INT 0)).
From-SVN: r12590
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/combine.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index 03b8644..796a7c2 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -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))); } |