summaryrefslogtreecommitdiff
path: root/gcc/df-problems.c
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2007-05-22 19:33:37 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2007-05-22 19:33:37 +0000
commitddc556d140656052c5583cc83c8d795107786dfc (patch)
treecfa4aaeabd4b1bbd0608b1fb3976bc0540f8ed3a /gcc/df-problems.c
parentd98c6d3671297d88cfa3b70a45e684bd04edf072 (diff)
downloadgcc-ddc556d140656052c5583cc83c8d795107786dfc.tar.gz
gcc/
* hard-reg-set.h (GO_IF_HARD_REG_SUBSET, GO_IF_HARD_REG_EQUAL): Delete in favor of... (hard_reg_subset_p, hard_reg_sets_equal_p, hard_reg_sets_intersect_p) (hard_reg_set_empty_p): ...these new functions. * bt-load.c (choose_btr): Use hard_reg_subset_p instead of GO_IF_HARD_REG_SUBSET. * cfgcleanup.c (old_insns_match_p): Use hard_reg_sets_equal_p instead of GO_IF_HARD_REG_EQUAL. * df-problems.c (df_urec_local_compute): Use hard_reg_set_empty_p instead of GO_IF_HARD_REG_EQUAL. * global.c (find_reg): Use hard_reg_set_empty_p instead of GO_IF_HARD_REG_SUBSET. (modify_reg_pav): Use hard_reg_set_empty_p instead of GO_IF_HARD_REG_EQUAL. * local-alloc.c (find_free_reg): Use hard_reg_subset_p instead of GO_IF_HARD_REG_SUBSET. * reg-stack.c (change_stack, convert_regs_1): Use hard_reg_sets_equal_p instead of GO_IF_HARD_REG_EQUAL. * regclass.c (init_reg_sets_1, reg_scan_mark_refs): Use hard_reg_subset_p instead of GO_IF_HARD_REG_SUBSET. (reg_classes_intersect_p): Use hard_reg_sets_intersect_p instead of GO_IF_HARD_REG_SUBSET, * reload1.c (finish_spills): Use hard_reg_subset_p instead of GO_IF_HARD_REG_SUBSET. * struct-equiv.c (death_notes_match_p): Use hard_reg_sets_equal_p instead of GO_IF_HARD_REG_EQUAL. * config/sh/sh.c (push_regs, calc_live_regs): Use hard_reg_sets_intersect_p instead of hard_regs_intersect_p. (hard_regs_intersect_p): Delete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124954 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/df-problems.c')
-rw-r--r--gcc/df-problems.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/gcc/df-problems.c b/gcc/df-problems.c
index 42710b203cf..385b8fb4725 100644
--- a/gcc/df-problems.c
+++ b/gcc/df-problems.c
@@ -2487,7 +2487,7 @@ df_urec_local_compute (struct dataflow *dflow,
bitmap_iterator bi;
#ifdef STACK_REGS
int i;
- HARD_REG_SET zero, stack_hard_regs, used;
+ HARD_REG_SET stack_hard_regs, used;
struct df_urec_problem_data *problem_data
= (struct df_urec_problem_data *) dflow->problem_data;
@@ -2498,7 +2498,6 @@ df_urec_local_compute (struct dataflow *dflow,
FIXME: This seems like an incredibly poor idea. */
- CLEAR_HARD_REG_SET (zero);
CLEAR_HARD_REG_SET (stack_hard_regs);
for (i = FIRST_STACK_REG; i <= LAST_STACK_REG; i++)
SET_HARD_REG_BIT (stack_hard_regs, i);
@@ -2508,10 +2507,8 @@ df_urec_local_compute (struct dataflow *dflow,
COPY_HARD_REG_SET (used, reg_class_contents[reg_preferred_class (i)]);
IOR_HARD_REG_SET (used, reg_class_contents[reg_alternate_class (i)]);
AND_HARD_REG_SET (used, stack_hard_regs);
- GO_IF_HARD_REG_EQUAL (used, zero, skip);
- bitmap_set_bit (problem_data->stack_regs, i);
- skip:
- ;
+ if (!hard_reg_set_empty_p (used))
+ bitmap_set_bit (problem_data->stack_regs, i);
}
#endif