summaryrefslogtreecommitdiff
path: root/gcc/ira-int.h
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2010-05-20 22:49:07 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2010-05-20 22:49:07 +0000
commitf7ace4bcd32b0127e0f50c2a6b6fd838fd356c9f (patch)
treead5c9a81fe8ced03d64f7354f5cdb7c56da2c287 /gcc/ira-int.h
parent53af708b4d4776566fd8dca68f4f9fd744716607 (diff)
downloadgcc-f7ace4bcd32b0127e0f50c2a6b6fd838fd356c9f.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159644 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ira-int.h')
-rw-r--r--gcc/ira-int.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/ira-int.h b/gcc/ira-int.h
index a32c837ac0f..6ee7393b36d 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