3#include <nlohmann/json_fwd.hpp>
33 bool invalidate_analysis_;
47 virtual std::string
name()
const override;
54 virtual void to_json(nlohmann::json& j)
const override;
Access nodes for reading/writing data in the dataflow graph.
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
Node representing access to a data container in the dataflow graph.
Definition access_node.h:84
Edge in the dataflow graph representing data movement.
Definition memlet.h:131
Simple computational operation in the dataflow graph.
Definition tasklet.h:348
data_flow::Tasklet * fma() const
The fused multiply-add tasklet created by apply(), or nullptr before.
virtual std::string name() const override
Get the name of this transformation.
virtual void apply(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager) override
Apply this transformation to the SDFG.
static FuseFMA from_json(builder::StructuredSDFGBuilder &builder, const nlohmann::json &j)
virtual void to_json(nlohmann::json &j) const override
Serialize this transformation to JSON.
virtual bool can_be_applied(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager) override
Check if this transformation can be safely applied.
FuseFMA(data_flow::Tasklet &add, bool invalidate_analysis=true)
Edges in the dataflow graph representing data movement.
Definition function_builder.h:10
Definition kernel_builder.h:18
Simple computational operations in the dataflow graph.