Sorry,  my patch for pr88157 caused a lot of ICEs on different targets.  The problem that cost vector was not initialized on some targets for some modes (we use a lazy approach in cost calculations in RA).  Here is the patch which should fix the ICEs.

  Committed as rev. 266435.


Index: ChangeLog
===================================================================
--- ChangeLog	(revision 266434)
+++ ChangeLog	(working copy)
@@ -1,3 +1,9 @@
+2018-11-25  Vladimir Makarov  <vmaka...@redhat.com>
+
+	PR bootstrap/88157
+	* ira-costs.c (record_operand_costs): Initiate register move cost
+	for mode.
+
 2018-11-23  Jeff Law  <l...@redhat.com>
 
 	PR rtl-optimization/87468
Index: ira-costs.c
===================================================================
--- ira-costs.c	(revision 266422)
+++ ira-costs.c	(working copy)
@@ -1318,6 +1318,7 @@ record_operand_costs (rtx_insn *insn, en
 	  int cost, k;
 	  bool dead_p = find_regno_note (insn, REG_DEAD, REGNO (src));
 
+	  ira_init_register_move_cost_if_necessary (mode);
 	  hard_reg_class = REGNO_REG_CLASS (other_regno);
 	  /* Target code may return any cost for mode which does not
 	     fit the the hard reg class (e.g. DImode for AREG on

Reply via email to