From 2fdb7cd791dc85ada9ffc675623fc0389af78794 Mon Sep 17 00:00:00 2001 From: Steven Bosscher Date: Thu, 30 Dec 2004 09:09:07 +0000 Subject: [PATCH] global.c (regclass_intersect): Remove. * global.c (regclass_intersect): Remove. (mark_reg_use_for_earlyclobber): Use reg_classes_intersect_p instead. From-SVN: r92729 --- gcc/ChangeLog | 5 +++++ gcc/global.c | 26 +++++--------------------- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3be00ebfecc..4c3d8a62ef9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-12-30 Steven Bosscher + + * global.c (regclass_intersect): Remove. + (mark_reg_use_for_earlyclobber): Use reg_classes_intersect_p instead. + 2004-12-30 Richard Henderson * config/ia64/ia64.c (ia64_function_value): Use PARALLEL for diff --git a/gcc/global.c b/gcc/global.c index 5779e4ea96a..35fec4a4392 100644 --- a/gcc/global.c +++ b/gcc/global.c @@ -309,7 +309,6 @@ static void reg_dies (int, enum machine_mode, struct insn_chain *); static void allocate_bb_info (void); static void free_bb_info (void); static bool check_earlyclobber (rtx); -static bool regclass_intersect (enum reg_class, enum reg_class); static void mark_reg_use_for_earlyclobber_1 (rtx *, void *); static int mark_reg_use_for_earlyclobber (rtx *, void *); static void calculate_local_reg_bb_info (void); @@ -2180,22 +2179,6 @@ check_earlyclobber (rtx insn) return found; } -/* The function returns true if register classes C1 and C2 intersect. */ - -static bool -regclass_intersect (enum reg_class c1, enum reg_class c2) -{ - HARD_REG_SET rs, zero; - - CLEAR_HARD_REG_SET (zero); - COPY_HARD_REG_SET(rs, reg_class_contents [c1]); - AND_HARD_REG_SET (rs, reg_class_contents [c2]); - GO_IF_HARD_REG_EQUAL (zero, rs, yes); - return true; - yes: - return false; -} - /* The function checks that pseudo-register *X has a class intersecting with the class of pseudo-register could be early clobbered in the same insn. @@ -2218,11 +2201,12 @@ mark_reg_use_for_earlyclobber (rtx *x, void *data ATTRIBUTE_UNUSED) pref_class = reg_preferred_class (regno); alt_class = reg_alternate_class (regno); for (i = VARRAY_ACTIVE_SIZE (earlyclobber_regclass) - 1; i >= 0; i--) - if (regclass_intersect (VARRAY_INT (earlyclobber_regclass, i), - pref_class) + if (reg_classes_intersect_p (VARRAY_INT (earlyclobber_regclass, i), + pref_class) || (VARRAY_INT (earlyclobber_regclass, i) != NO_REGS - && regclass_intersect (VARRAY_INT (earlyclobber_regclass, i), - alt_class))) + && reg_classes_intersect_p (VARRAY_INT (earlyclobber_regclass, + i), + alt_class))) { bitmap_set_bit (bb_info->earlyclobber, regno); break; -- 2.30.2