From 0583835c7dac1e94dce3c6f83fdf3ba7c1a2ec7c Mon Sep 17 00:00:00 2001 From: Vladimir Makarov Date: Thu, 20 May 2010 22:49:07 +0000 Subject: ira.c (ira_non_ordered_class_hard_regs): Define. * ira.c (ira_non_ordered_class_hard_regs): Define. (setup_class_hard_regs): Initialize ira_non_ordered_class_hard_regs. * ira-int.h (ira_non_ordered_class_hard_regs): Declare. * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Increase cost of unaligned hard regs when allocating multi-reg pseudos. From-SVN: r159644 --- gcc/ira-int.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gcc/ira-int.h') diff --git a/gcc/ira-int.h b/gcc/ira-int.h index a32c837..6ee7393 100644 --- a/gcc/ira-int.h +++ b/gcc/ira-int.h @@ -743,6 +743,11 @@ extern move_table *ira_may_move_out_cost[MAX_MACHINE_MODE]; allocation. */ extern int ira_class_subset_p[N_REG_CLASSES][N_REG_CLASSES]; +/* Array of the number of hard registers of given class which are + available for allocation. The order is defined by the the hard + register numbers. */ +extern short ira_non_ordered_class_hard_regs[N_REG_CLASSES][FIRST_PSEUDO_REGISTER]; + /* Index (in ira_class_hard_regs) for given register class and hard register (in general case a hard register can belong to several register classes). The index is negative for hard registers -- cgit v1.1