3 ms·
The basic result is that if you just CPS-convert a language without first-class continuations (so, no call-CC), all of that is interchangeable with SSA and any
by larsberg 13y ago
The basic result is that if you just CPS-convert a language without first-class continuations (so, no call-CC), all of that is interchangeable with SSA and any optimization written against one IR can be rewritten fairly mindlessly against the other IR.
If you allow first-class continuations in user programs, though, all bets are off and CPS is more expressive.
Richard Kelsey wrote the paper that talks about how to convert between CPS and SSA forms, along with the first-class continuation limitation mentioned above:
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.3.6773 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.3.67...