summaryrefslogtreecommitdiff
path: root/gcc/sbitmap.c
diff options
context:
space:
mode:
authorMichael Hayes <m.hayes@elec.canterbury.ac.nz>1999-11-30 10:42:29 +0000
committerMichael Hayes <m.hayes@gcc.gnu.org>1999-11-30 10:42:29 +0000
commit4dc9341c04ba95ac73093573f645b49dcff494bf (patch)
tree0419ba31de201d068da7e9c24838800282059223 /gcc/sbitmap.c
parentedecd81faa008b1d15af7c5ef1c1f9eeb9854635 (diff)
downloadgcc-4dc9341c04ba95ac73093573f645b49dcff494bf.tar.gz
flow.c (flow_nodes_print, [...]): New functions.
* 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. From-SVN: r30720
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. */