[LLVMdev] "Splitting" live values

Julien Henry Julien.Henry at imag.fr
Wed Jun 15 05:56:09 PDT 2011


Hi,

On 06/15/2011 09:41 AM, Carlo Alberto Ferraris wrote:
>  From the fact that nobody is replying I guess there's no easy way to do
> what I asked.
> Can you just confirm then that the following is a meaningful way to do it?
>
>     * D_b <- set of dominators of BB b
>     * S_b <- set containing b and its successors (optional)
>     * VD_b <- set of the values defined in D_b
>     * VS_b <- set of the values with uses in S_b (optional)
>     * LV_b <- VD_b ∩ VS_b, i.e. the live values (optional, otherwise
>       LV_b = VD_b)
>     * create the value mapping LV_b -> LV'_b
>     * apply the mapping to the uses in VS_b
>

I think your approach is correct, but there are more optimized 
approaches to compute sets of Live values.
I suggest you have a look at the Phd thesis of Benoit Boissinot, chapter 
3, that you can find here:
http://bboissin.appspot.com/thesis.html


Hope this helps,

Julien



More information about the llvm-dev mailing list