docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
memlet_simplification.h
Go to the documentation of this file.
1
18
19#pragma once
20
21#include <string>
22
25#include "sdfg/passes/pass.h"
28
29namespace sdfg {
30namespace passes {
31
48public:
55
60 static std::string name() {
61 return "MemletSimplification";
62 }
63
69 virtual bool accept(structured_control_flow::Map& map) override;
70
71private:
78 std::optional<symbolic::Expression>
79 try_simplify_mixed_radix(const symbolic::Expression& expr, const symbolic::Symbol& expected_base);
80};
81
83
84} // namespace passes
85} // namespace sdfg
Definition analysis.h:53
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
static std::string name()
Returns the name of the pass.
Definition memlet_simplification.h:60
MemletSimplification(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager)
Constructs a new MemletSimplification pass.
virtual bool accept(structured_control_flow::Map &map) override
Accepts a Map and simplifies memlet subsets in immediate blocks.
Definition pass.h:55
Represents a parallel map loop with configurable scheduling.
Definition map.h:47
Definition structured_sdfg_visitor.h:53
SymEngine::RCP< const SymEngine::Basic > Expression
Reference-counted pointer to a symbolic expression (SymEngine Basic).
Definition symbolic.h:83
SymEngine::RCP< const SymEngine::Symbol > Symbol
Reference-counted pointer to a SymEngine Symbol.
Definition symbolic.h:71
Definition function_builder.h:10
Definition approximate_math.h:12
VisitorPass< MemletSimplification > MemletSimplificationPass
Definition memlet_simplification.h:82
Definition analysis.h:7