diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/regcprop.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 944f806..37890e6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-12-17 Richard Henderson <rth@redhat.com> + + * regcprop.c (find_oldest_value_reg): Continue search instead of + failing if an element in the copy chain is of the wrong regclass. + 2010-12-17 Paolo Bonzini <bonzini@gnu.org> PR c/20385 diff --git a/gcc/regcprop.c b/gcc/regcprop.c index 88f9226..0f0dfb3 100644 --- a/gcc/regcprop.c +++ b/gcc/regcprop.c @@ -457,7 +457,7 @@ find_oldest_value_reg (enum reg_class cl, rtx reg, struct value_data *vd) rtx new_rtx; if (!in_hard_reg_set_p (reg_class_contents[cl], mode, i)) - return NULL_RTX; + continue; new_rtx = maybe_mode_change (oldmode, vd->e[regno].mode, mode, i, regno); if (new_rtx) |
