summaryrefslogtreecommitdiff
path: root/gcc/ira-int.h
diff options
context:
space:
mode:
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>2012-06-04 18:27:36 +0000
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>2012-06-04 18:27:36 +0000
commitb48acad0653661e4e1a96e0c59bcd68512c52492 (patch)
treecdd6f5fb0521728a400335ee4aff711a94fce696 /gcc/ira-int.h
parent8a47db4740eee9a50c2b301a79b1c7f7331fe296 (diff)
downloadgcc-b48acad0653661e4e1a96e0c59bcd68512c52492.tar.gz
2012-06-04 Vladimir Makarov <vmakarov@redhat.com>
* ira-int.h (struct target_ira_int): Add member x_ira_uniform_class_p. (ira_uniform_class_p): New macro. * ira.c (setup_uniform_class_p): New function. (setup_allocno_and_important_classes): Call the function. (print_unform_and_important_classes): New function. (print_classes): Rename to print_translated_classes. (ira_debug_allocno_classes): Add call of print_unform_and_important_classes. * ira-costs.c (setup_regno_cost_classes_by_aclass): Use uniform classes instead of pressure classes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188199 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 1fd285dacf7..8d44e35df0c 100644
--- a/gcc/ira-int.h
+++ b/gcc/ira-int.h
@@ -828,6 +828,9 @@ struct target_ira_int {
classes. */
int x_ira_important_class_nums[N_REG_CLASSES];
+ /* Map class->true if class is an uniform class, false otherwise. */
+ bool x_ira_uniform_class_p[N_REG_CLASSES];
+
/* The biggest important class inside of intersection of the two
classes (that is calculated taking only hard registers available
for allocation into account;. If the both classes contain no hard
@@ -905,6 +908,8 @@ extern struct target_ira_int *this_target_ira_int;
(this_target_ira_int->x_ira_important_classes)
#define ira_important_class_nums \
(this_target_ira_int->x_ira_important_class_nums)
+#define ira_uniform_class_p \
+ (this_target_ira_int->x_ira_uniform_class_p)
#define ira_reg_class_intersect \
(this_target_ira_int->x_ira_reg_class_intersect)
#define ira_reg_classes_intersect_p \