2013-05-02 Vladimir Makarov <vmakarov@redhat.com>
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 2 May 2013 19:02:19 +0000 (19:02 +0000)
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 2 May 2013 19:02:19 +0000 (19:02 +0000)
* lra-constraints.c (process_alt_operands): Add checking alt
number to choose the best alternative.

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

gcc/ChangeLog
gcc/lra-constraints.c

index 9e3d783..b94a74b 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 94f965b..4e73611 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++)
            {