Here is a definition of reducible flow graphs :
A flow graph is reducible if every retreating edge in any DFST for that flow graph is a back edge.
And the reasons why we care about
- Proper ordering of nodes during iterative algorithm assures number of passes limited by the number of “nested” back edges.
- Depth of nested loops upper-bounds the number of nested back edges.
With this explanation, I have more questions: why number of passes is important? why we want to know upper-bounds?
However, I still do not understand the impact of
Why should we care about it? Will it make it harder to do loop flatten? What if we have irreducible flow graphs for program analysis?