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

Base class for backward analyses. More...

#include "dataflow.h"

Inheritance diagram for BackwardAnalysis:
Inheritance graph
[legend]
Collaboration diagram for BackwardAnalysis:
Collaboration graph
[legend]

Public Types

typedef InstructionSequence::const_reverse_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

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

Static Public Attributes

static const DataflowDirection DIRECTION = DataflowDirection::BACKWARD
 Analysis direction is backward.
 

Detailed Description

Base class for backward analyses.

Member Function Documentation

◆ begin()

InstructionIterator BackwardAnalysis::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 BackwardAnalysis::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: