Are you guys going to use CSP to implement SSA for AOT?

在 2013-1-24 PM6:36,"Andy Wingo" <wingo@pobox.com>写道:
Hi!

On Thu 24 Jan 2013 10:28, Mark H Weaver <mhw@netris.org> writes:

> The problem is that CPS fixes the order in which everything is
> evaluated, such as the order in which procedure arguments are
> evaluated, the order in which 'let' or 'letrec' initializers are
> evaluated, etc.  The fact that these orders are unspecified in the
> direct-style gives the compiler freedom to choose an order that
> generates the best code, and apparently this freedom can often result
> in significant gains.  Such ordering decisions must be made before the
> conversion to CPS.

Agreed with the sentiment; however, two points:

  * we can have a CPS with let / letrec / * operators that bind a number
    of values in unspecified order, and have a pass later that fixes
    their order.

  * code motion passes like CSE depend on effects analysis, and can
    often commute some operations

Anyway, violent agreement!

Cheers,

Andy
--
http://wingolog.org/