|
docc 0.8.3 (0d44999b)
C++ API Reference
|
Schedule-aware tile analysis: for a (loop scope, container) that MemoryLayoutAnalysis resolves to a bounded tile, produces a tiles::Tile (geometry, thread/value partition, copy direction) for memory-level transformations to consume instead of re-deriving. More...
#include <sdfg/tiles/analysis/tile_analysis.h>
Classes | |
| struct | AccessSummary |
| How a container is accessed within a loop, read straight off the dataflow (memlet types), independent of any pointer-weak Users analysis. More... | |
Public Member Functions | |
| TileAnalysis (StructuredSDFG &sdfg) | |
| std::string | name () const override |
| const tiles::Tile * | tile (const structured_control_flow::ControlFlowNode &scope, const std::string &container) const |
The tile for container at loop scope scope, or nullptr if none. | |
| Public Member Functions inherited from sdfg::analysis::Analysis | |
| Analysis (StructuredSDFG &sdfg) | |
| Analysis (StructuredSDFG &sdfg, const Options &options) | |
| virtual | ~Analysis ()=default |
| virtual bool | invalidate (structured_control_flow::ControlFlowNode &changed) |
Updates the analysis after a change confined to the subtree of changed. | |
| Analysis (const Analysis &a)=delete | |
| Analysis & | operator= (const Analysis &)=delete |
Static Public Member Functions | |
| static AccessSummary | summarize (const StructuredSDFG &sdfg, structured_control_flow::StructuredLoop &loop, const std::string &container) |
Classify container's accesses within loop via the pointer analyzers. | |
Protected Member Functions | |
| void | run (analysis::AnalysisManager &analysis_manager) override |
| Protected Member Functions inherited from sdfg::analysis::Analysis | |
| template<class T> | |
| T | option (const OptionKey< T > &key, T fallback=T{}) const |
Additional Inherited Members | |
| Protected Attributes inherited from sdfg::analysis::Analysis | |
| StructuredSDFG & | sdfg_ |
| symbolic::Assumptions | additional_assumptions_ |
| const Options * | options_ = &Options::empty() |
Schedule-aware tile analysis: for a (loop scope, container) that MemoryLayoutAnalysis resolves to a bounded tile, produces a tiles::Tile (geometry, thread/value partition, copy direction) for memory-level transformations to consume instead of re-deriving.
| sdfg::tiles::TileAnalysis::TileAnalysis | ( | StructuredSDFG & | sdfg | ) |
|
inlineoverridevirtual |
Implements sdfg::analysis::Analysis.
|
overrideprotectedvirtual |
Implements sdfg::analysis::Analysis.
|
static |
Classify container's accesses within loop via the pointer analyzers.
aliased is set when the pointer escapes, is overwritten/swapped, or is passed to a library node that may capture it — any of which lets the container's memory be reached outside the memlets a transformation rewrites.
| const tiles::Tile * sdfg::tiles::TileAnalysis::tile | ( | const structured_control_flow::ControlFlowNode & | scope, |
| const std::string & | container ) const |
The tile for container at loop scope scope, or nullptr if none.