docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
sdfg::passes::normalization Namespace Reference

Classes

class  LoopNormalFormPass
class  MapDelinearizationPass
 Splits flattened maps into nested maps along the divisions of their induction variables. More...
class  MapFusion
class  MapFusionPass
class  PerfectLoopDistributionPass
class  StrideMinimization

Functions

passes::Pipeline loop_normalization ()
passes::Pipeline stride_minimization ()
passes::Pipeline map_fusion (bool allow_init_hoist=true, bool allow_prod_into_cons=true)
void normalize (sdfg::StructuredSDFG &sdfg, bool enable_fusion=true)
 Normalize a StructuredSDFG in place.

Function Documentation

◆ loop_normalization()

passes::Pipeline sdfg::passes::normalization::loop_normalization ( )
inline

◆ map_fusion()

passes::Pipeline sdfg::passes::normalization::map_fusion ( bool allow_init_hoist = true,
bool allow_prod_into_cons = true )
inline

◆ normalize()

void sdfg::passes::normalization::normalize ( sdfg::StructuredSDFG & sdfg,
bool enable_fusion = true )

Normalize a StructuredSDFG in place.

Runs the loop-normalization pipeline. When enable_fusion is set, also performs map fusion before and after loop normalization.

This function performs:

  1. (Optional) Initial map fusion without init-into-reduction hoisting
  2. Loop distribution and stride minimization
  3. (Optional) Final map fusion with init-into-reduction hoisting

◆ stride_minimization()

passes::Pipeline sdfg::passes::normalization::stride_minimization ( )
inline