This is a summary of current discussions, and a follow-up to our recent meetings, prompted by the issue here. Anyone who's been following along with the last few weeks of discussions and presentations might wish to skip directly to the follow-up part.
Reducible control flow is the control flow directly representable through semi-structured control flow constructs (loops, conditionals, and break
/continue
). It can be characterised in terms of a property of the control flow graph that all loops are single-entry. For more details, see the diagram and "Reducibility" subsection here.
Irreducible control flow is roughly "everything else". For example, goto
into the middle of a loop would result in irreducible