[LLVMdev] GSoC 2009 application

Eli Friedman eli.friedman at gmail.com
Sun Mar 29 16:05:43 PDT 2009


On Sun, Mar 29, 2009 at 3:33 PM, Benoit Boissinot
<bboissin+llvm at gmail.com> wrote:
> While it is not described in the litterature, I don't think you need
> to introduce a new
> function:
>      x0 = ...
>  x1, x2 = \sigma (x0)
>         |
>    +----+------+
>    |           |
>    v           v
>  ... = x1    ... = x2
>
> Can be transformed to:
>
>         x0 = ...
>            |
>    +-------+------+
>    |              |
>    v              v
>  x1 = \phi(x0)  x2 = \phi(x0)
>
> This comes from the fact that the sigma function, like the phi, function has
> the semantic that the copies are done on the edges.

This is assuming you run a pass like BreakCriticalEdges first?  Looks
like it would work.  My concern here would be performance...

-Eli




More information about the llvm-dev mailing list