From 04dda2a2b2e6213963af0d11464110fdcd43899d Mon Sep 17 00:00:00 2001 From: vmakarov Date: Thu, 2 May 2013 19:02:19 +0000 Subject: [PATCH] 2013-05-02 Vladimir Makarov * 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 | 5 +++++ gcc/lra-constraints.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9e3d783..b94a74b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-05-02 Vladimir Makarov + + * lra-constraints.c (process_alt_operands): Add checking alt + number to choose the best alternative. + 2013-05-02 Richard Biener * tree-eh.c (cleanup_empty_eh_merge_phis): Remove rename_virts diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c index 94f965b..4e73611 100644 --- a/gcc/lra-constraints.c +++ b/gcc/lra-constraints.c @@ -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++) { -- 2.7.4