diff mbox

patch to fix PR63397

Message ID 548F5ED3.3000806@redhat.com
State New
Headers show

Commit Message

Vladimir Makarov Dec. 15, 2014, 10:21 p.m. UTC
The following patch fixes

   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63397

The patch was successfully bootstrapped on x86-64.

Committed as rev. 218766.

2014-12-15  Vladimir Makarov  <vmakarov@redhat.com>

         PR rtl-optimization/63397
         * ira-int.h (ira_overall_cost, ira_reg_cost, ira_mem_cost): Use
         int64_t.
         (ira_load_cost, ira_store_cost, ira_shuffle_cost): Ditto.
         * ira.c (ira_overall_cost, ira_overall_cost_before): Ditto.
         (ira_reg_cost, ira_mem_cost): Ditto.
         (ira_load_cost, ira_store_cost, ira_shuffle_cost): Ditto.
         (calculate_allocation_cost, do_reload): Use the right
         format for int64_t values.
diff mbox

Patch

Index: ira.c
===================================================================
--- ira.c	(revision 218761)
+++ ira.c	(working copy)
@@ -431,9 +431,9 @@  struct ira_spilled_reg_stack_slot *ira_s
    the allocnos assigned to memory, cost of loads, stores and register
    move insns generated for pseudo-register live range splitting (see
    ira-emit.c).  */
-int ira_overall_cost, overall_cost_before;
-int ira_reg_cost, ira_mem_cost;
-int ira_load_cost, ira_store_cost, ira_shuffle_cost;
+int64_t ira_overall_cost, overall_cost_before;
+int64_t ira_reg_cost, ira_mem_cost;
+int64_t ira_load_cost, ira_store_cost, ira_shuffle_cost;
 int ira_move_loops_num, ira_additional_jumps_num;
 
 /* All registers that can be eliminated.  */
@@ -2489,10 +2489,15 @@  calculate_allocation_cost (void)
   if (internal_flag_ira_verbose > 0 && ira_dump_file != NULL)
     {
       fprintf (ira_dump_file,
-	       "+++Costs: overall %d, reg %d, mem %d, ld %d, st %d, move %d\n",
+	       "+++Costs: overall %"PRId64
+	       ", reg %"PRId64
+	       ", mem %"PRId64
+	       ", ld %"PRId64
+	       ", st %"PRId64
+	       ", move %"PRId64,
 	       ira_overall_cost, ira_reg_cost, ira_mem_cost,
 	       ira_load_cost, ira_store_cost, ira_shuffle_cost);
-      fprintf (ira_dump_file, "+++       move loops %d, new jumps %d\n",
+      fprintf (ira_dump_file, "\n+++       move loops %d, new jumps %d\n",
 	       ira_move_loops_num, ira_additional_jumps_num);
     }
 
@@ -5422,7 +5427,8 @@  do_reload (void)
 
   if (internal_flag_ira_verbose > 0 && ira_dump_file != NULL
       && overall_cost_before != ira_overall_cost)
-    fprintf (ira_dump_file, "+++Overall after reload %d\n", ira_overall_cost);
+    fprintf (ira_dump_file, "+++Overall after reload %"PRId64 "\n",
+	     ira_overall_cost);
 
   flag_ira_share_spill_slots = saved_flag_ira_share_spill_slots;
 
Index: ira-int.h
===================================================================
--- ira-int.h	(revision 218760)
+++ ira-int.h	(working copy)
@@ -620,9 +620,9 @@  extern struct ira_spilled_reg_stack_slot
    allocnos assigned to hard-registers, cost of the allocnos assigned
    to memory, cost of loads, stores and register move insns generated
    for pseudo-register live range splitting (see ira-emit.c).  */
-extern int ira_overall_cost;
-extern int ira_reg_cost, ira_mem_cost;
-extern int ira_load_cost, ira_store_cost, ira_shuffle_cost;
+extern int64_t ira_overall_cost;
+extern int64_t ira_reg_cost, ira_mem_cost;
+extern int64_t ira_load_cost, ira_store_cost, ira_shuffle_cost;
 extern int ira_move_loops_num, ira_additional_jumps_num;