Continue searching in find_oldest_value_reg on class match failure.
authorRichard Henderson <rth@redhat.com>
Fri, 17 Dec 2010 22:51:25 +0000 (14:51 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 17 Dec 2010 22:51:25 +0000 (14:51 -0800)
From-SVN: r168001

gcc/ChangeLog
gcc/regcprop.c

index 944f806..37890e6 100644 (file)
@@ -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
index 88f9226..0f0dfb3 100644 (file)
@@ -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)