sail::SuperBlock Class Reference

This is the structured representation of a loop with a single exit point. More...

#include <SuperBlock.h>

Inheritance diagram for sail::SuperBlock:
sail::Block sail::SummaryUnit

List of all members.

Public Member Functions

 SuperBlock (Loop *l, Function *parent_fn)
virtual string to_string () const
virtual string to_dotty (string prelude, bool pretty_print=true)
virtual BasicBlockget_entry_block ()
virtual BasicBlockget_exit_block ()
virtual BasicBlockget_exception_block ()
set< Block * > & get_body ()
bool is_exit_block (BasicBlock *b)
sail::Functionget_parent_function ()
virtual bool is_function ()
virtual bool is_superblock ()
virtual Identifier get_identifier ()
Instructionget_first_instruction ()
Instructionget_last_instruction ()

Friends

class boost::serialization::access

Detailed Description

This is the structured representation of a loop with a single exit point.

Back edges are also replaced by LoopInvocation instructions.


Member Function Documentation

BasicBlock * sail::SuperBlock::get_entry_block (  )  [virtual]
Returns:
the basic block that serves as the entry block of this super block

Implements sail::SummaryUnit.

BasicBlock * sail::SuperBlock::get_exception_block (  )  [virtual]
Returns:
the basic block that serves as the exception block of this super block

Implements sail::SummaryUnit.

BasicBlock * sail::SuperBlock::get_exit_block (  )  [virtual]
Returns:
the basic block that serves as the exit block of this super block

Implements sail::SummaryUnit.

sail::Function * sail::SuperBlock::get_parent_function (  ) 
Returns:
The function in which this super block appears.
bool sail::SuperBlock::is_exit_block ( BasicBlock b  ) 

Is this block post-dominated by the exit block of the loop?

bool sail::SuperBlock::is_superblock (  )  [virtual]
Returns:
Is this block a super block? (i.e. does it represent a loop)

Reimplemented from sail::Block.


The documentation for this class was generated from the following files:
Generated on Sun Oct 17 14:01:34 2010 by  doxygen 1.6.3