aboutsummaryrefslogtreecommitdiff
path: root/gcc/ira-int.h
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2012-06-04 18:27:36 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2012-06-04 18:27:36 +0000
commit165f639ceabc15665a5afe65b07a50fd0c18ce58 (patch)
treecdd6f5fb0521728a400335ee4aff711a94fce696 /gcc/ira-int.h
parent7496cd5bea9e9b4c1fd0dfef46fbea5718e7aa35 (diff)
downloadgcc-165f639ceabc15665a5afe65b07a50fd0c18ce58.zip
gcc-165f639ceabc15665a5afe65b07a50fd0c18ce58.tar.gz
gcc-165f639ceabc15665a5afe65b07a50fd0c18ce58.tar.bz2
ira-int.h (struct target_ira_int): Add member x_ira_uniform_class_p.
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. From-SVN: r188199
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 1fd285d..8d44e35 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 \