B::Bblock - Walk basic blocks

- NAME
- SYNOPSIS
- DESCRIPTION

- Functions

- AUTHOR

# NAME

B::Bblock - Walk basic blocks

# SYNOPSIS

      # External interface
      perl -MO=Bblock[,OPTIONS] foo.pl

      # Programmatic API
      use B::Bblock qw(find_leaders);
      my $leaders = find_leaders($root_op, $start_op);

# DESCRIPTION

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 possibility of branching or halting.

It can be used either stand alone or from inside another program.

## Functions

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.

The values of %$leaders are the op objects themselves. Keys are $$op addresses.

# AUTHOR

Malcolm Beattie, `mbeattie@sable.ox.ac.uk`

B::Bblock - Walk basic blocks