diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 944f8069d72..37890e62f30 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-12-17 Richard Henderson + + * 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 PR c/20385 diff --git a/gcc/regcprop.c b/gcc/regcprop.c index 88f9226bb27..0f0dfb3ce78 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)