21 bool equal_offloading_nodes(
47 static std::string
name() {
48 return "ExtendedBlockHoisting";
Note: Even though the class references unique_ptr, it will never delete an SDFG it has a reference to...
Definition structured_sdfg_builder.h:44
Definition data_flow_graph.h:29
Base class for all library nodes in the dataflow graph.
Definition library_node.h:106
Edge in the dataflow graph representing data movement.
Definition memlet.h:131
Name does not match current function.
Definition data_offloading_node.h:49
BlockHoisting(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager)
static std::string name()
Definition extended_block_hoisting.h:47
virtual void if_else_extract_invariant_libnode_front(structured_control_flow::Sequence &parent, structured_control_flow::IfElse &if_else) override
virtual bool equal_libnodes(structured_control_flow::Block &block1, structured_control_flow::Block &block2) override
ExtendedBlockHoisting(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager)
virtual bool is_libnode_allowed(structured_control_flow::Sequence &body, data_flow::DataFlowGraph &dfg, data_flow::LibraryNode *libnode) override
virtual void if_else_extract_invariant_libnode_back(structured_control_flow::Sequence &parent, structured_control_flow::IfElse &if_else) override
A control flow node representing a basic block with dataflow computations.
Definition block.h:42
Represents a conditional if-else control flow node with multiple cases.
Definition if_else.h:47
A sequential container of control flow nodes.
Definition sequence.h:52
Library node definitions for calling functions beyond simple instructions.
Edges in the dataflow graph representing data movement.
Definition function_builder.h:10
Definition approximate_math.h:12
VisitorPass< ExtendedBlockHoisting > ExtendedBlockHoistingPass
Definition extended_block_hoisting.h:52