summaryrefslogtreecommitdiff
path: root/gcc/sbitmap.c
diff options
context:
space:
mode:
authorm.hayes <m.hayes@138bc75d-0d04-0410-961f-82ee72b054a4>1999-11-30 10:42:29 +0000
committerm.hayes <m.hayes@138bc75d-0d04-0410-961f-82ee72b054a4>1999-11-30 10:42:29 +0000
commita4d05bafaa3086197355ee581da872a70d02ab8c (patch)
tree0419ba31de201d068da7e9c24838800282059223 /gcc/sbitmap.c
parent2cc539748ecc9230d84dd5684c86599ab6649391 (diff)
downloadgcc-a4d05bafaa3086197355ee581da872a70d02ab8c.tar.gz
* flow.c (flow_nodes_print, flow_loops_cfg_dump): New functions.
(flow_loop_nested_p, flow_loops_dump, flow_loops_free): Likewise. (flow_loop_exits_find, flow_loop_nodes_find): Likewise. (flow_depth_first_order_compute, flow_loop_pre_header_find): Likewise. (flow_loop_tree_node_add, flow_loops_tree_build): Likewise. (flow_loop_level_compute, low_loops_level_compute): Likewise. (flow_loops_find, flow_loop_outside_edge_p): Likewise. * basic-block.h: Protect from multiple inclusion. (flow_loops_find, flow_loops_free, flow_loop_dump): Add protoypes. (struct loops, struct loop): Define structures. * sbitmap.c (sbitmap_a_subset_b_p): New function. * sbitmap.h: Protect from multiple inclusion. (sbitmap_a_subset_b_p): Add prototype. * Makefile.in (LOOP_H): New macro. (stmt.o, integrate.o, loop.o, unroll.o): Replace loop.h with LOOP_H. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30720 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sbitmap.c')
-rw-r--r--gcc/sbitmap.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/sbitmap.c b/gcc/sbitmap.c
index 4cc7c85f5c1..dece5e5ef25 100644
--- a/gcc/sbitmap.c
+++ b/gcc/sbitmap.c
@@ -265,6 +265,25 @@ sbitmap_a_or_b (dst, a, b)
}
return changed;
}
+/* Return non-zero if A is a subset of B. */
+
+int
+sbitmap_a_subset_b_p (a, b)
+ sbitmap a, b;
+{
+ int i;
+ sbitmap_ptr ap, bp;
+
+ ap = a->elms;
+ bp = b->elms;
+ for (i = 0; i < a->size; i++)
+ {
+ if ((*ap | *bp) != *bp)
+ return 0;
+ ap++; bp++;
+ }
+ return 1;
+}
/* Set DST to be (A or (B and C)).
Return non-zero if any change is made. */