|
docc 0.8.3 (0d44999b)
C++ API Reference
|
Simplifies mixed-radix index expressions in memlet subsets. More...
#include <sdfg/passes/dataflow/memlet_simplification.h>
Static Public Member Functions | |
| static std::string | name () |
| Returns the name of the pass. | |
Additional Inherited Members | |
| Protected Member Functions inherited from sdfg::visitor::NonStoppingStructuredSDFGVisitor | |
| bool | visit_internal (structured_control_flow::Sequence &parent) override |
| Protected Attributes inherited from sdfg::visitor::StructuredSDFGVisitor | |
| builder::StructuredSDFGBuilder & | builder_ |
| analysis::AnalysisManager & | analysis_manager_ |
Simplifies mixed-radix index expressions in memlet subsets.
This pass targets memlets with single-element subsets (flat pointer accesses) within Maps that are in loop normal form. It recognizes patterns of the form:
sum of stride[k] * ((idx / stride[k]) % dim[k])
where the strides form a C-contiguous layout, and simplifies them to just idx.
Prerequisites:
| sdfg::passes::MemletSimplification::MemletSimplification | ( | builder::StructuredSDFGBuilder & | builder, |
| analysis::AnalysisManager & | analysis_manager ) |
Constructs a new MemletSimplification pass.
| builder | The structured SDFG builder |
| analysis_manager | The analysis manager |
|
overridevirtual |
Accepts a Map and simplifies memlet subsets in immediate blocks.
| map | The map to process |
Reimplemented from sdfg::visitor::StructuredSDFGVisitor.
|
inlinestatic |
Returns the name of the pass.