summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorMichael G. Schwern <schwern@pobox.com>2001-12-14 14:59:13 -0500
committerJarkko Hietaniemi <jhi@iki.fi>2001-12-15 17:12:32 +0000
commit2c12eace71b6dabbf7f5ffafe0561fc5456f8df1 (patch)
treeb2c2b4b4fda50e91371cf1f48b11c129563ed479 /ext
parent9dfdc05faed89bb4c359b3472c6541a069ad50a6 (diff)
downloadperl-2c12eace71b6dabbf7f5ffafe0561fc5456f8df1.tar.gz
Some weak docs
Message-ID: <20011215005913.GC28596@blackrider> p4raw-id: //depot/perl@13697
Diffstat (limited to 'ext')
-rw-r--r--ext/B/B/Bblock.pm36
1 files changed, 35 insertions, 1 deletions
diff --git a/ext/B/B/Bblock.pm b/ext/B/B/Bblock.pm
index 9bef3ac3e1..624bae4f09 100644
--- a/ext/B/B/Bblock.pm
+++ b/ext/B/B/Bblock.pm
@@ -168,7 +168,12 @@ B::Bblock - Walk basic blocks
=head1 SYNOPSIS
- perl -MO=Bblock[,OPTIONS] foo.pl
+ # External interface
+ perl -MO=Bblock[,OPTIONS] foo.pl
+
+ # Programmatic API
+ use B::Bblock qw(find_leaders);
+ my $leaders = find_leaders($root_op, $start_op);
=head1 DESCRIPTION
@@ -176,6 +181,35 @@ This module is used by the B::CC back end. It walks "basic blocks".
A basic block is a series of operations which is known to execute from
start to finish, with no possiblity of branching or halting.
+It can be used either stand alone or from inside another program.
+
+=for _private
+Somebody who understands the stand-alone options document them, please.
+
+=head2 Functions
+
+=over 4
+
+=item B<find_leaders>
+
+ my $leaders = find_leaders($root_op, $start_op);
+
+Given the root of the op tree and an op from which to start
+processing, it will return a hash ref representing all the ops which
+start a block.
+
+=for _private
+The above description may be somewhat wrong.
+
+The values of %$leaders are the op objects themselves. Keys are $$op
+addresses.
+
+=for _private
+Above cribbed from B::CC's comments. What's a $$op address?
+
+=back
+
+
=head1 AUTHOR
Malcolm Beattie, C<mbeattie@sable.ox.ac.uk>