new SSA IL

Stephen Weeks MLton@sourcelight.com
Wed, 8 Aug 2001 11:54:22 -0700


> In SSA, how do you express the notion that a variable is no longer
> live after a particular program point?  If I have two variables live
> upon entry to a block, but the last use of one precedes the last use of
> the other, how is that information expressed, or is your argument that it is
> more easily computed in an SSA framework than the current IL?

We don't express liveness in SSA.  Computing liveness is of the same difficulty
in either IL.  The difference is that the lexical scoping of CPS expresses some
(over-) approximation to liveness (a variable is live in its entire scope), that
we sometimes used instead of using computing actual liveness.  Maintaining a
data structure (i.e. syntax tree) that maintains this approximation to liveness
seems like a wasted effort.