docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
node_dispatcher.h
Go to the documentation of this file.
1
16
17#pragma once
18
25#include "sdfg/codegen/utils.h"
29
30namespace sdfg {
31namespace codegen {
32
42private:
44
45protected:
47
49
51
53
55
56 virtual bool begin_node(PrettyPrinter& stream);
57
58 virtual void end_node(PrettyPrinter& stream, bool has_declaration);
59
66
67public:
69 LanguageExtension& language_extension,
71 analysis::AnalysisManager& analysis_manager,
73 InstrumentationPlan& instrumentation_plan,
74 ArgCapturePlan& arg_capture_plan
75 );
76
77 virtual ~NodeDispatcher() = default;
78
79 virtual void dispatch_node(
80 PrettyPrinter& main_stream, PrettyPrinter& globals_stream, CodeSnippetFactory& library_snippet_factory
81 ) = 0;
82
84
85 virtual void
86 dispatch(PrettyPrinter& main_stream, PrettyPrinter& globals_stream, CodeSnippetFactory& library_snippet_factory);
87};
88
89} // namespace codegen
90} // namespace sdfg
Definition structured_sdfg.h:30
Definition analysis.h:53
Definition arg_capture_plan.h:36
Originally started out as a handler for additional source files, like hardware-accelerator kernels th...
Definition code_snippet_factory.h:69
Definition instrumentation_info.h:37
Definition instrumentation_plan.h:26
Definition language_extension.h:39
NodeDispatcher(LanguageExtension &language_extension, StructuredSDFG &sdfg, analysis::AnalysisManager &analysis_manager, structured_control_flow::ControlFlowNode &node, InstrumentationPlan &instrumentation_plan, ArgCapturePlan &arg_capture_plan)
virtual void end_node(PrettyPrinter &stream, bool has_declaration)
analysis::AnalysisManager & analysis_manager_
Definition node_dispatcher.h:54
InstrumentationPlan & instrumentation_plan_
Definition node_dispatcher.h:50
InstrumentationInfo instrumentation_info_for_group() const
virtual bool begin_node(PrettyPrinter &stream)
virtual void dispatch(PrettyPrinter &main_stream, PrettyPrinter &globals_stream, CodeSnippetFactory &library_snippet_factory)
virtual InstrumentationInfo instrumentation_info() const
Bad design.
virtual ~NodeDispatcher()=default
virtual void dispatch_node(PrettyPrinter &main_stream, PrettyPrinter &globals_stream, CodeSnippetFactory &library_snippet_factory)=0
ArgCapturePlan & arg_capture_plan_
Definition node_dispatcher.h:52
StructuredSDFG & sdfg_
Definition node_dispatcher.h:48
LanguageExtension & language_extension_
Definition node_dispatcher.h:46
Definition utils.h:16
Base class for all structured control flow nodes in a StructuredSDFG.
Definition control_flow_node.h:44
Definition argument_registry.h:10
Definition analysis.h:7