Related articles |
---|
SSA without phi Nicolas.Capens@gmail.com (2007-04-20) |
Re: SSA without phi tommy.thorn@gmail.com (Tommy Thorn) (2007-04-23) |
Re: SSA without phi jle@forest.owlnet.rice.edu (2007-04-23) |
SSA without phi inderaj@gmail.com (Inderaj Bains) (2007-04-23) |
Re: SSA without phi cfc@shell01.TheWorld.com (Chris F Clark) (2007-04-23) |
Re: SSA without phi find@my.address.elsewhere (Matthias Blume) (2007-04-26) |
Re: SSA without phi Nicolas.Capens@gmail.com (2007-04-29) |
Re: SSA without phi tommy.thorn@gmail.com (Tommy Thorn) (2007-05-04) |
Re: SSA without phi jle@forest.owlnet.rice.edu (2007-05-04) |
Re: SSA without phi inderaj@gmail.com (Inderaj Bains) (2007-05-07) |
Re: SSA without phi tommy.thorn@gmail.com (Tommy Thorn) (2007-05-08) |
Re: SSA without phi Nicolas.Capens@gmail.com (2007-05-22) |
From: | Matthias Blume <find@my.address.elsewhere> |
Newsgroups: | comp.compilers |
Date: | 26 Apr 2007 09:36:03 -0400 |
Organization: | private |
References: | 07-04-075 07-04-086 |
Keywords: | analysis |
Posted-Date: | 26 Apr 2007 09:36:03 EDT |
Tommy Thorn <tommy.thorn@gmail.com> writes:
> A common alternative representation of SSA distributes the arguments
> into the predecessor blocks., ie instead of
>
> B2:
> v.2 = phi(v.0, v.1)
> ....
>
> you'd have
>
> B0:
> ...
> jump B2(v.0)
>
> B1:
> ...
> jump B1(v.1)
>
> B2(v.2):
> ...
>
> This is strictly isomorphic to the traditional representation, but can
> be easier to work with.
>
[...]
>> (*) This is also a bit of a philospohical opinion. I want my compiler
>> to behave in a way that a programmer would optimize code. SSA with phi
>> functions just isn't natural, while the idea of static assignment is
>> fundamental in functional programming and well understood.
>
> What's "natural" is relative.
>
> The alternative representation sketched above looks very much like
> tail recursive function calls.
Indeed.
It might help if you'd look up some of the literature on the
correspondence between SSA and CPS. See, e.g., the papers by Kelsey
(1995) and Appel (1998), both in SIGPLAN Notices.
Matthias
Return to the
comp.compilers page.
Search the
comp.compilers archives again.