|
docc 0.8.3 (0d44999b)
C++ API Reference
|
Meant to contain only per-loop data (does not reflect what loops nested inside do / have) This is a pre-processing step to collect the loop-nest-wide info. More...
#include <sdfg/analysis/loop_analysis.h>
Public Types | |
| enum class | LoopType : uint8_t { While , For , Map } |
Public Attributes | |
| uint32_t | loop_id |
| Unique ID for each loop, not just loop nests. | |
| uint32_t | last_child_id |
| ID of the last child. | |
| uint32_t | loop_level |
| LoopType | type |
| bool | is_elementwise |
| bool | contains_non_perfectly_nested |
| The loop contains anything other than a direct child loop. | |
| bool | contains_side_effects |
| The loop contains side-effects directly in its body (does not include anything that happens in child loops). | |
Meant to contain only per-loop data (does not reflect what loops nested inside do / have) This is a pre-processing step to collect the loop-nest-wide info.
It is a separate struct to not change the previous interface too much or pollute it with confusingly similar data And to allow for separate allocation in the future
|
strong |
| bool sdfg::analysis::LocalLoopInfo::contains_non_perfectly_nested |
The loop contains anything other than a direct child loop.
Be it a block, an additional sequence or multiple loops
| bool sdfg::analysis::LocalLoopInfo::contains_side_effects |
The loop contains side-effects directly in its body (does not include anything that happens in child loops).
| bool sdfg::analysis::LocalLoopInfo::is_elementwise |
| uint32_t sdfg::analysis::LocalLoopInfo::last_child_id |
ID of the last child.
Allows for efficient, transitive is_parent / is_child checks parent.loop_id > child.loop_id && parent.last_child_id >= child.loop_id => is (transitive) child
| uint32_t sdfg::analysis::LocalLoopInfo::loop_id |
Unique ID for each loop, not just loop nests.
Numbered in pre-order DFS (children will always have higher numbers than their parents)
| uint32_t sdfg::analysis::LocalLoopInfo::loop_level |
| LoopType sdfg::analysis::LocalLoopInfo::type |