docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
tile_analysis.h File Reference
#include <map>
#include <optional>
#include <string>
#include <utility>
#include <vector>
#include "sdfg/analysis/analysis.h"
#include "sdfg/analysis/memory_layout_analysis.h"
#include "sdfg/structured_control_flow/control_flow_node.h"
#include "sdfg/structured_control_flow/structured_loop.h"
#include "sdfg/tiles/tile.h"

Go to the source code of this file.

Classes

class  sdfg::tiles::TileAnalysis
 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...
struct  sdfg::tiles::TileAnalysis::AccessSummary
 How a container is accessed within a loop, read straight off the dataflow (memlet types), independent of any pointer-weak Users analysis. More...

Namespaces

namespace  sdfg
namespace  sdfg::tiles

Functions

bool sdfg::tiles::is_constant_bounded (const analysis::MemoryTileGroup *group)
 True iff group is a real tile whose extents are all compile-time integer constants (the constant-bounded localization precondition).
const std::vector< analysis::MemoryTileGroup > * sdfg::tiles::tile_groups (structured_control_flow::StructuredLoop &loop, const std::string &container, analysis::AnalysisManager &analysis_manager)
 All tile groups MemoryLayoutAnalysis formed for container at loop (nullptr if none).
symbolic::Expression sdfg::tiles::tile_element_count (const analysis::MemoryTileGroup *group)
 Scalar slots a packed buffer for group would occupy (product of extents): a compile-time integer iff is_constant_bounded, null if any extent is unbounded, 0 for a null group.
const analysis::MemoryTileGroup * sdfg::tiles::localizable_tile (structured_control_flow::StructuredLoop &loop, const std::string &container, analysis::AnalysisManager &analysis_manager)
 The single localizable tile group of container at loop, or nullptr.