From 8b8e41e5c236b4d878f56011c4bb68dd396e5e9a Mon Sep 17 00:00:00 2001 From: Vladimir Makarov Date: Wed, 15 Mar 2017 23:04:09 +0000 Subject: [PATCH] re PR target/80017 (ICE: Max. number of generated reload insns per insn is achieved (90)) 2017-03-15 Vladimir Makarov PR target/80017 * lra-constraints.c (process_alt_operands): Increase reject for reloading an input/output operand. From-SVN: r246181 --- gcc/ChangeLog | 6 ++++++ gcc/lra-constraints.c | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c01d583..88f6007 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2017-03-15 Vladimir Makarov + + PR target/80017 + * lra-constraints.c (process_alt_operands): Increase reject for + reloading an input/output operand. + 2017-03-15 Michael Meissner PR target/79038 diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c index e0ce807..4d98624 100644 --- a/gcc/lra-constraints.c +++ b/gcc/lra-constraints.c @@ -2713,6 +2713,15 @@ process_alt_operands (int only_alternative) if (MEM_P (op) && offmemok) addr_losers++; + else if (curr_static_id->operand[nop].type == OP_INOUT) + { + if (lra_dump_file != NULL) + fprintf + (lra_dump_file, + " %d Input/Output reload: reject+=%d\n", + nop, LRA_LOSER_COST_FACTOR); + reject += LRA_LOSER_COST_FACTOR; + } } if (early_clobber_p && ! scratch_p) -- 2.7.4