diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cse.c | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c570131..e2f722b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2005-03-06 Zdenek Dvorak <dvorakz@suse.cz> + + * cse.c (find_best_addr): Use canon_for_address. + 2005-03-06 Kazu Hirata <kazu@cs.umass.edu> * cse.c (fold_rtx_subreg, fold_rtx_mem): New. @@ -2850,7 +2850,8 @@ find_best_addr (rtx insn, rtx *loc, enum machine_mode mode) be valid and produce better code. */ if (!REG_P (addr)) { - rtx folded = fold_rtx (addr, NULL_RTX); + rtx folded = canon_for_address (fold_rtx (addr, NULL_RTX)); + if (folded != addr) { int addr_folded_cost = address_cost (folded, mode); |