Files
revng-revng/lib/RestructureCFG
Andrea Gussoni 26cf42eb12 ESE: Introduce the Enforce Single Exit pass
Introduce the Enforce Single Exit pass, whose task is to normalize a
generic `ScopeGraph`, which may have multiple exit blocks (and/or
infinite loop regions), in order to have a single `sink_block` as exit
block.

This is done by adding a new entry block, a `sink_block`, and some
`scope_closer` edges (which are visible only on the `ScopeGraph`) that
enforce the property.

This is done taking inspiration from how the internally the
`PostDominatorTree` pass construct the temporary graph on which the post
dominance information is computed on.

Some unit tests are added in order to verify that the pass works as
expected.
2024-12-18 10:51:40 +01:00
..
2024-11-21 10:50:55 +01:00
2024-11-21 10:50:55 +01:00
2024-11-21 10:50:55 +01:00
2024-11-21 10:50:55 +01:00
2024-11-21 10:50:55 +01:00
2024-11-21 10:50:55 +01:00
2024-11-21 10:50:55 +01:00
2024-11-21 10:50:55 +01:00
2024-11-21 10:50:55 +01:00
2024-02-29 17:03:36 +01:00
2024-11-21 10:50:55 +01:00
2024-11-21 10:50:55 +01:00
2024-11-21 10:50:55 +01:00
2024-02-29 17:03:36 +01:00
2024-02-29 17:03:36 +01:00
2024-11-21 10:50:55 +01:00
2024-02-29 17:03:36 +01:00
2024-02-29 17:03:36 +01:00