docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
sdfg::passes::ExtendedBlockHoisting Class Reference

#include <sdfg/passes/code_motion/extended_block_hoisting.h>

Inheritance diagram for sdfg::passes::ExtendedBlockHoisting:
[legend]

Public Member Functions

 ExtendedBlockHoisting (builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager)
Public Member Functions inherited from sdfg::passes::BlockHoisting
 BlockHoisting (builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager)
virtual bool accept (structured_control_flow::Map &map_stmt) override
virtual bool accept (structured_control_flow::IfElse &if_else) override
Public Member Functions inherited from sdfg::visitor::NonStoppingStructuredSDFGVisitor
 NonStoppingStructuredSDFGVisitor (builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager)
bool visit () override
Public Member Functions inherited from sdfg::visitor::StructuredSDFGVisitor
 StructuredSDFGVisitor (builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager)
virtual ~StructuredSDFGVisitor ()=default
virtual bool accept (structured_control_flow::Block &node)
virtual bool accept (structured_control_flow::AssignmentBlock &node)
virtual bool accept (structured_control_flow::Sequence &node)
virtual bool accept (structured_control_flow::Return &node)
virtual bool accept (structured_control_flow::For &node)
virtual bool accept (structured_control_flow::While &node)
virtual bool accept (structured_control_flow::Continue &node)
virtual bool accept (structured_control_flow::Break &node)
virtual bool accept (structured_control_flow::Reduce &node)

Static Public Member Functions

static std::string name ()
Static Public Member Functions inherited from sdfg::passes::BlockHoisting
static std::string name ()

Protected Member Functions

virtual bool is_libnode_allowed (structured_control_flow::Sequence &body, data_flow::DataFlowGraph &dfg, data_flow::LibraryNode *libnode) override
virtual bool equal_libnodes (structured_control_flow::Block &block1, structured_control_flow::Block &block2) override
virtual void if_else_extract_invariant_libnode_front (structured_control_flow::Sequence &parent, structured_control_flow::IfElse &if_else) override
virtual void if_else_extract_invariant_libnode_back (structured_control_flow::Sequence &parent, structured_control_flow::IfElse &if_else) override
Protected Member Functions inherited from sdfg::visitor::NonStoppingStructuredSDFGVisitor
bool visit_internal (structured_control_flow::Sequence &parent) override

Additional Inherited Members

Protected Attributes inherited from sdfg::visitor::StructuredSDFGVisitor
builder::StructuredSDFGBuilder & builder_
analysis::AnalysisManager & analysis_manager_

Constructor & Destructor Documentation

◆ ExtendedBlockHoisting()

sdfg::passes::ExtendedBlockHoisting::ExtendedBlockHoisting ( builder::StructuredSDFGBuilder & builder,
analysis::AnalysisManager & analysis_manager )

Member Function Documentation

◆ equal_libnodes()

virtual bool sdfg::passes::ExtendedBlockHoisting::equal_libnodes ( structured_control_flow::Block & block1,
structured_control_flow::Block & block2 )
overrideprotectedvirtual

Reimplemented from sdfg::passes::BlockHoisting.

◆ if_else_extract_invariant_libnode_back()

virtual void sdfg::passes::ExtendedBlockHoisting::if_else_extract_invariant_libnode_back ( structured_control_flow::Sequence & parent,
structured_control_flow::IfElse & if_else )
overrideprotectedvirtual

Reimplemented from sdfg::passes::BlockHoisting.

◆ if_else_extract_invariant_libnode_front()

virtual void sdfg::passes::ExtendedBlockHoisting::if_else_extract_invariant_libnode_front ( structured_control_flow::Sequence & parent,
structured_control_flow::IfElse & if_else )
overrideprotectedvirtual

Reimplemented from sdfg::passes::BlockHoisting.

◆ is_libnode_allowed()

virtual bool sdfg::passes::ExtendedBlockHoisting::is_libnode_allowed ( structured_control_flow::Sequence & body,
data_flow::DataFlowGraph & dfg,
data_flow::LibraryNode * libnode )
overrideprotectedvirtual

Reimplemented from sdfg::passes::BlockHoisting.

◆ name()

std::string sdfg::passes::ExtendedBlockHoisting::name ( )
inlinestatic

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