docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
sdfg::tiles::TileGuardNormalization Class Reference

Re-discharge every TileCopyNode's ragged boundary guard. More...

#include <sdfg/tiles/transformations/tile_guard_normalization.h>

Inheritance diagram for sdfg::tiles::TileGuardNormalization:
[legend]

Public Member Functions

 TileGuardNormalization ()=default
std::string name () override
bool run_pass (builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager) override
Public Member Functions inherited from sdfg::passes::Pass
 Pass ()=default
 Pass (const Options &options)
virtual ~Pass ()=default
virtual std::vector< OptionSpec > options ()
bool run (builder::SDFGBuilder &builder, bool create_report=false)
bool run (builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager, bool create_report=false)
virtual bool run_pass (builder::SDFGBuilder &builder)
virtual void invalidates (analysis::AnalysisManager &analysis_manager, bool applied)

Additional Inherited Members

Protected Member Functions inherited from sdfg::passes::Pass
template<class T>
T option (const OptionKey< T > &key, T fallback=T{}) const

Detailed Description

Re-discharge every TileCopyNode's ragged boundary guard.

A copy node's boundary guard is set when LocalStorage runs, from the assumptions available then. When a later pass — loop peeling, condition propagation — proves a tile dimension fully covering, this pass drops the now-redundant guard dims (via TileCopyNode::normalize_guard against the current AssumptionsAnalysis), so a node copy inherits the same guard simplification the old map-nest copy got for free. Safe to run repeatedly; only ever removes provably-redundant predicates.

Constructor & Destructor Documentation

◆ TileGuardNormalization()

sdfg::tiles::TileGuardNormalization::TileGuardNormalization ( )
default

Member Function Documentation

◆ name()

std::string sdfg::tiles::TileGuardNormalization::name ( )
inlineoverridevirtual

Implements sdfg::passes::Pass.

◆ run_pass()

bool sdfg::tiles::TileGuardNormalization::run_pass ( builder::StructuredSDFGBuilder & builder,
analysis::AnalysisManager & analysis_manager )
overridevirtual

Reimplemented from sdfg::passes::Pass.


The documentation for this class was generated from the following file: