docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
normalization.h
Go to the documentation of this file.
1#pragma once
2
4
11
12namespace sdfg {
13namespace passes {
14namespace normalization {
15
17 passes::Pipeline pipeline("Loop Normalization");
18
19 // Register passes for loop normalization
22
23 return pipeline;
24}
25
27 passes::Pipeline pipeline("Stride Minimization");
28
30
31 return pipeline;
32}
33
34inline passes::Pipeline map_fusion(bool allow_init_hoist = true, bool allow_prod_into_cons = true) {
35 passes::Pipeline p("MapFusion");
36
37 p.register_pass<normalization::MapFusionPass>(allow_init_hoist, allow_prod_into_cons);
41
42 return p;
43}
44
45} // namespace normalization
46} // namespace passes
47} // namespace sdfg
Definition dead_cfg_elimination.h:9
Definition dead_data_elimination.h:8
Definition pipeline.h:23
void register_pass(Args &&... args)
Definition pipeline.h:43
Definition perfect_loop_distribution.h:10
Definition stride_minimization.h:9
Definition loop_normal_form.h:8
passes::Pipeline map_fusion(bool allow_init_hoist=true, bool allow_prod_into_cons=true)
Definition normalization.h:34
passes::Pipeline loop_normalization()
Definition normalization.h:16
passes::Pipeline stride_minimization()
Definition normalization.h:26
Definition approximate_math.h:12
VisitorPass< BlockFusion > BlockFusionPass
Definition block_fusion.h:35
Definition analysis.h:7