aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/ira-int.h6
-rw-r--r--gcc/ira.c18
3 files changed, 27 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e050f03..2929972 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,15 @@
+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.
+
2014-12-15 Jan Hubicka <hubicka@ucw.cz>
* sreal.h (to_double): New method.
diff --git a/gcc/ira-int.h b/gcc/ira-int.h
index 0799b1e..79b7b99 100644
--- a/gcc/ira-int.h
+++ b/gcc/ira-int.h
@@ -620,9 +620,9 @@ extern struct ira_spilled_reg_stack_slot *ira_spilled_reg_stack_slots;
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;
diff --git a/gcc/ira.c b/gcc/ira.c
index f08aa23..87ea86d 100644
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -431,9 +431,9 @@ struct ira_spilled_reg_stack_slot *ira_spilled_reg_stack_slots;
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;