diff options
author | vmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-06-04 18:27:36 +0000 |
---|---|---|
committer | vmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-06-04 18:27:36 +0000 |
commit | b48acad0653661e4e1a96e0c59bcd68512c52492 (patch) | |
tree | cdd6f5fb0521728a400335ee4aff711a94fce696 /gcc/ira-int.h | |
parent | 8a47db4740eee9a50c2b301a79b1c7f7331fe296 (diff) | |
download | gcc-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.h | 5 |
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 \ |