31 virtual std::string
name()
override {
32 return "BlockSorting";
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
Base class for all library nodes in the dataflow graph.
Definition library_node.h:106
Definition block_sorting.h:17
virtual bool can_be_bubbled_down(structured_control_flow::Block &block)
bool sort(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager, structured_control_flow::Sequence &sequence)
virtual bool can_be_bubbled_up(structured_control_flow::Block &block)
virtual bool is_libnode_side_effect_white_listed(data_flow::LibraryNode *libnode)
virtual std::pair< int, std::string > get_prio_and_order(structured_control_flow::Block *block)
bool bubble_up(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager, structured_control_flow::Sequence &sequence, long long index)
bool is_libnode_block(structured_control_flow::Block &next_block)
virtual bool run_pass(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager) override
bool is_reference_block(structured_control_flow::Block &block)
virtual std::string name() override
Definition block_sorting.h:31
bool bubble_down(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager, structured_control_flow::Sequence &sequence, long long index)
A control flow node representing a basic block with dataflow computations.
Definition block.h:42
A sequential container of control flow nodes.
Definition sequence.h:52
Library node definitions for calling functions beyond simple instructions.
Definition function_builder.h:10
Definition approximate_math.h:12