Deleted Added
full compact
gcse.c (117395) gcse.c (119256)
1/* Global common subexpression elimination/Partial redundancy elimination
2 and global constant/copy propagation for GNU compiler.
3 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
4 Free Software Foundation, Inc.
5
6This file is part of GCC.
7
8GCC is free software; you can redistribute it and/or modify it under

--- 3940 unchanged lines hidden (view full) ---

3949 the set given our substitution. We could perhaps try this for multiple
3950 SETs, but it probably won't buy us anything. */
3951 src = simplify_replace_rtx (SET_SRC (set), from, to);
3952
3953 if (!rtx_equal_p (src, SET_SRC (set))
3954 && validate_change (insn, &SET_SRC (set), src, 0))
3955 success = 1;
3956
1/* Global common subexpression elimination/Partial redundancy elimination
2 and global constant/copy propagation for GNU compiler.
3 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
4 Free Software Foundation, Inc.
5
6This file is part of GCC.
7
8GCC is free software; you can redistribute it and/or modify it under

--- 3940 unchanged lines hidden (view full) ---

3949 the set given our substitution. We could perhaps try this for multiple
3950 SETs, but it probably won't buy us anything. */
3951 src = simplify_replace_rtx (SET_SRC (set), from, to);
3952
3953 if (!rtx_equal_p (src, SET_SRC (set))
3954 && validate_change (insn, &SET_SRC (set), src, 0))
3955 success = 1;
3956
3957 /* If we've failed to do replacement, have a single SET, and don't already
3958 have a note, add a REG_EQUAL note to not lose information. */
3959 if (!success && note == 0 && set != 0)
3957 /* If we've failed to do replacement, have a single SET, don't already
3958 have a note, and have no special SET, add a REG_EQUAL note to not
3959 lose information. */
3960 if (!success && note == 0 && set != 0
3961 && GET_CODE (XEXP (set, 0)) != ZERO_EXTRACT
3962 && GET_CODE (XEXP (set, 0)) != SIGN_EXTRACT)
3960 note = set_unique_reg_note (insn, REG_EQUAL, copy_rtx (src));
3961 }
3962
3963 /* If there is already a NOTE, update the expression in it with our
3964 replacement. */
3965 else if (note != 0)
3966 XEXP (note, 0) = simplify_replace_rtx (XEXP (note, 0), from, to);
3967

--- 3507 unchanged lines hidden ---
3963 note = set_unique_reg_note (insn, REG_EQUAL, copy_rtx (src));
3964 }
3965
3966 /* If there is already a NOTE, update the expression in it with our
3967 replacement. */
3968 else if (note != 0)
3969 XEXP (note, 0) = simplify_replace_rtx (XEXP (note, 0), from, to);
3970

--- 3507 unchanged lines hidden ---