re PR target/80017 (ICE: Max. number of generated reload insns per insn is achieved...
authorVladimir Makarov <vmakarov@redhat.com>
Wed, 15 Mar 2017 23:04:09 +0000 (23:04 +0000)
committerVladimir Makarov <vmakarov@gcc.gnu.org>
Wed, 15 Mar 2017 23:04:09 +0000 (23:04 +0000)
2017-03-15  Vladimir Makarov  <vmakarov@redhat.com>

PR target/80017
* lra-constraints.c (process_alt_operands): Increase reject for
reloading an input/output operand.

From-SVN: r246181

gcc/ChangeLog
gcc/lra-constraints.c

index c01d583faede943a5eb07077936ba402c4b52505..88f60073d99854f26a2c24f748fe359481dbeab8 100644 (file)
@@ -1,3 +1,9 @@
+2017-03-15  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR target/80017
+       * lra-constraints.c (process_alt_operands): Increase reject for
+       reloading an input/output operand.
+
 2017-03-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
 
        PR target/79038
index e0ce8072ab053cb2d527e28ff5b8b1c26d275eb8..4d986249a6fa6df1ad497d0830395dc3fed23f92 100644 (file)
@@ -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)