Handle tail calls
danmatichuk opened this issue · comments
Currently an exception is thrown in the case where a function call does not have a statically-known return point. This happens for tail calls, when a function is jumped to directly without setting up a new stack frame.
Without a return point, we need to handle this by instead considering the return of the tail call to be the return point of the calling function. This is fairly straightforward to represent in the PairGraph, as it just involves adding some additional return edges.
Some additional consideration may be needed for how to handle transforming the stack frame variable, however.