summaryrefslogtreecommitdiff
path: root/gcc/ifcvt.c
diff options
context:
space:
mode:
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-02 09:56:12 +0000
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-02 09:56:12 +0000
commit215768315efa12277535db11b94e39cdea0d981a (patch)
tree01db73d0a68c2e2de0213a73d4f7c8d2b5d8ce66 /gcc/ifcvt.c
parent54a7017338e5eff45cd4e4e8927f8398def98fa8 (diff)
downloadgcc-215768315efa12277535db11b94e39cdea0d981a.tar.gz
* bitmap.h (bitmap_equal_p): Return bool.
(bitmap_intersect_p, bitmap_intersect_compl_p): Declare. * bitmap.c (bitmap_equal_p): Return bool. Compare directly. (bitmap_intersect_p, bitmap_intersect_compl_p): New. * flow.c (calculate_global_regs_live): Use bitmap_intersect_p and bitmap_intersect_compl_p. * ifcvt (dead_or_predicable): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89981 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ifcvt.c')
-rw-r--r--gcc/ifcvt.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c
index 72bb3930062..a033f356aa2 100644
--- a/gcc/ifcvt.c
+++ b/gcc/ifcvt.c
@@ -3217,13 +3217,9 @@ dead_or_predicable (basic_block test_bb, basic_block merge_bb,
TEST_SET & merge_bb->global_live_at_start
are empty. */
- bitmap_ior (tmp, test_set, test_live);
- bitmap_and_into (tmp, merge_set);
- if (!bitmap_empty_p (tmp))
- fail = 1;
-
- bitmap_and (tmp, test_set, merge_bb->global_live_at_start);
- if (!bitmap_empty_p (tmp))
+ if (bitmap_intersect_p (test_set, merge_set)
+ || bitmap_intersect_p (test_live, merge_set)
+ || bitmap_intersect_p (test_set, merge_bb->global_live_at_start))
fail = 1;
FREE_REG_SET (tmp);