Currently jumps and calls represent the forward graph links and the incomingJumps set on Block and incomingCalls set on Procedure represent the backwards links. Now that we have some framework for maintaining the graph at the boundaries of the IR, and under modifications, it might be cleaner to move the actual graph to a trait so the interface is the same on Procedures and Blocks. This might mean duplicating the forward edges but the cost of that is probably OK.
Currently jumps and calls represent the forward graph links and the incomingJumps set on Block and incomingCalls set on Procedure represent the backwards links. Now that we have some framework for maintaining the graph at the boundaries of the IR, and under modifications, it might be cleaner to move the actual graph to a trait so the interface is the same on Procedures and Blocks. This might mean duplicating the forward edges but the cost of that is probably OK.