lra-constraints.c (process_alt_operands): Add checking alt number to choose the best...
authorVladimir Makarov <vmakarov@redhat.com>
Thu, 2 May 2013 19:02:19 +0000 (19:02 +0000)
committerVladimir Makarov <vmakarov@gcc.gnu.org>
Thu, 2 May 2013 19:02:19 +0000 (19:02 +0000)
2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>

* lra-constraints.c (process_alt_operands): Add checking alt
number to choose the best alternative.

From-SVN: r198558

gcc/ChangeLog
gcc/lra-constraints.c

index 9e3d7838d25945de47a715f92451eae29ca23df8..b94a74bd7399877719e9197161c772df7991adf5 100644 (file)
@@ -1,3 +1,8 @@
+2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * lra-constraints.c (process_alt_operands): Add checking alt
+       number to choose the best alternative.
+
 2013-05-02  Richard Biener  <rguenther@suse.de>
 
        * tree-eh.c (cleanup_empty_eh_merge_phis): Remove rename_virts
index 94f965bd7e92f08c008308aa39d937c19a467245..4e7361155b365bbf4e9028cdd7a00ca7637e077d 100644 (file)
@@ -2197,7 +2197,9 @@ process_alt_operands (int only_alternative)
                         number of reload regs.  */
                      && (reload_nregs < best_reload_nregs
                          || (reload_nregs == best_reload_nregs
-                             && best_reload_sum < reload_sum))))))
+                             && (best_reload_sum < reload_sum
+                                 || (best_reload_sum == reload_sum
+                                     && nalt < goal_alt_number))))))))
        {
          for (nop = 0; nop < n_operands; nop++)
            {