OSDN Git Service

2012-11-20 Vladimir Makarov <vmakarov@redhat.com>
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 20 Nov 2012 21:32:59 +0000 (21:32 +0000)
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 20 Nov 2012 21:32:59 +0000 (21:32 +0000)
PR rtl-optimization/55396
* lra-constraints.c (get_reload_reg): Change class if it is
different from reg class.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193678 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/lra-constraints.c

index 513d049..59982df 100644 (file)
@@ -1,3 +1,9 @@
+2012-11-20  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/55396
+       * lra-constraints.c (get_reload_reg): Change class if it is
+       different from reg class.
+
 2012-11-20  Jakub Jelinek  <jakub@redhat.com>
 
        * vec.h (class vec_prefix): Change into struct.
index 9df7b97..63ef155 100644 (file)
@@ -425,7 +425,7 @@ get_reload_reg (enum op_type type, enum machine_mode mode, rtx original,
            fprintf (lra_dump_file, "    Reuse r%d for reload ", regno);
            print_value_slim (lra_dump_file, original, 1);
          }
-       if (rclass != new_class)
+       if (new_class != lra_get_allocno_class (regno))
          change_class (regno, new_class, ", change", false);
        if (lra_dump_file != NULL)
          fprintf (lra_dump_file, "\n");