Nearly CC
An educational compiler skeleton
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
ForwardAnalysis Class Reference

Base class for forward analyses. More...

#include "dataflow.h"

Collaboration diagram for ForwardAnalysis:
Collaboration graph
[legend]

Public Types

typedef InstructionSequence::const_iterator InstructionIterator
 Iterator type for iterating over instructions in a basic block in "analysis" order.
 

Public Member Functions

InstructionIterator begin (std::shared_ptr< InstructionSequence > bb) const
 Get a begin iterator over the instructions in a basic block in "analysis" order. More...
 
InstructionIterator end (std::shared_ptr< InstructionSequence > bb) const
 Get an end iterator over the instructions in a basic block in "analysis" order. More...
 

Public Attributes

ForwardNavigation LOGICAL_FORWARD
 Logical forward navigation through the ControlFlowGraph in analysis order.
 
BackwardNavigation LOGICAL_BACKWARD
 Logical backward navigation through the ControlFlowGraph in analysis order.
 

Static Public Attributes

static const DataflowDirection DIRECTION = DataflowDirection::FORWARD
 Analysis direction is forward.
 

Detailed Description

Base class for forward analyses.

Member Function Documentation

◆ begin()

InstructionIterator ForwardAnalysis::begin ( std::shared_ptr< InstructionSequence bb) const
inline

Get a begin iterator over the instructions in a basic block in "analysis" order.

Parameters
bba basic block
Returns
begin iterator over the instructions in the basic block

◆ end()

InstructionIterator ForwardAnalysis::end ( std::shared_ptr< InstructionSequence bb) const
inline

Get an end iterator over the instructions in a basic block in "analysis" order.

Parameters
bba basic block
Returns
end iterator over the instructions in the basic block

The documentation for this class was generated from the following file: