diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2012-11-09 15:33:19 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2012-11-09 15:33:19 +0000 |
commit | 821b75770b84b7d9b2566804a85b70f606a50d36 (patch) | |
tree | f14e41b290294aa5a04024274f1bf3d8c67bf745 /gcc/lra.c | |
parent | ad7bac31307f16060dbb7ce4a36d44698ca2be76 (diff) | |
download | gcc-821b75770b84b7d9b2566804a85b70f606a50d36.zip gcc-821b75770b84b7d9b2566804a85b70f606a50d36.tar.gz gcc-821b75770b84b7d9b2566804a85b70f606a50d36.tar.bz2 |
re PR rtl-optimization/55154 (ICE: in curr_insn_transform, at lra-constraints.c:2702 with custom flags)
2012-11-09 Vladimir Makarov <vmakarov@redhat.com>
PR tree-optimization/55154
* lra-int.h (LRA_LOSER_COST_FACTOR, LRA_MAX_REJECT): New macros.
* lra.c (setup_operand_alternative): Use them.
* lra-constraints.c (LOSER_COST_FACTOR, MAX_OVERALL_COST_BOUND):
Remove.
(process_alt_operands): Use LRA_LOSER_COST_FACTOR and
LRA_MAX_REJECT. Accumulate reject instead of setting for
non-const.
(curr_insn_transform): Initialize best_losers and best_overall by
INT_MAX.
2012-11-09 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55154
* gcc.target/i386/pr55154.c: New test.
From-SVN: r193364
Diffstat (limited to 'gcc/lra.c')
-rw-r--r-- | gcc/lra.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -784,10 +784,10 @@ setup_operand_alternative (lra_insn_recog_data_t data) break; case '?': - op_alt->reject += 6; + op_alt->reject += LRA_LOSER_COST_FACTOR; break; case '!': - op_alt->reject += 600; + op_alt->reject += LRA_MAX_REJECT; break; case '&': op_alt->earlyclobber = 1; |