public class CriticalEdgeRemover
extends BodyTransformer
removes all critical edges.
A critical edge is an edge from Block A to block B, if B has more than one
predecessor and A has more the one successor.
As an example: If we wanted a computation to be only on the path A->B
this computation must be directly on the edge. Otherwise it is either
executed on the path through the second predecessor of A or throught the
second successor of B.
Our critical edge-remover overcomes this problem by introducing synthetic
nodes on this critical edges.
Exceptions will be ignored.