diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/gcse.c | 9 |
2 files changed, 11 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 82bb095c6cf..0b913487d01 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-06-03 Roger Sayle <roger@eyesopen.com> + + * gcse.c (cprop_jump): Use single_set to get the pattern + from the setcc argument. + 2002-06-03 Gabriel Dos Reis <gdr@codesourcery.com> * diagnostic.h (diagnostic_count): Move from output_buffer to diff --git a/gcc/gcse.c b/gcc/gcse.c index 2d612f1972c..e9c35a665e8 100644 --- a/gcc/gcse.c +++ b/gcc/gcse.c @@ -4097,9 +4097,12 @@ cprop_jump (bb, setcc, jump, from, src) /* First substitute in the INSN condition as the SET_SRC of the JUMP, then substitute that given values in this expanded JUMP. */ if (setcc != NULL) - new_set = simplify_replace_rtx (SET_SRC (set), - SET_DEST (PATTERN (setcc)), - SET_SRC (PATTERN (setcc))); + { + rtx setcc_set = single_set (setcc); + new_set = simplify_replace_rtx (SET_SRC (set), + SET_DEST (setcc_set), + SET_SRC (setcc_set)); + } else new_set = set; |

