[PATCH] SubRegister liveness tracking

Renato Golin renato.golin at linaro.org
Tue Oct 8 11:21:49 PDT 2013


On 8 October 2013 18:10, Matthias Braun <mbraun at apple.com> wrote:

> Yes CopyFrom expected an empty LiveRange, I changed it to a copy
> constructor to make that fact more clear.
>

Great!


If you think it is useful to others then I will factor the code out and
> turn it into a “real” C++ ADT similar to the existing ilist, I didn’t do
> this because it will bloat the code with traits and more overloaded
> operators for a single use site which doesn’t use them...
>

Not in that sense, no, but something that other LLVM algorithms can use.
Why not put it beside the double-linked list declaration/implementation?


I updated/added some comments. Missing \briefs shouldn’t hurt I think, I
> only add \brief when I actually have something to say for the detailed
> description. Otherwise I assume the brief and detailed docu are just the
> same.
>

Makes sense.


Well tablegen assigns the LaneMasks to sub register indices (for me this
> is: ssub_0=0x4, ssub_1=0x8, dsub_0=0xC, dsub_1=0x30, qsub_0=0x3C, …) If
> there are more than 31 subregister indices all remaining ones will be
> mapped to bit 32.
> A subregister index like ssub_0 is a more abstract concept only after a
> concrete register like D0 or D7 is given you can get a concrete subregister
> S0/S14.
> LaneMasks allow to identify “subtrees” (well subgraphs) in the subregister
> index hierarchy, which in practice means I can keep the representation at
> the granularity level of the “DXX” registers if no one is accessing S
> subregisters.
>

Thanks!

I'll get to your second patch in a moment... ;)

cheers,
--renato
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131008/6e563d9f/attachment.html>


More information about the llvm-commits mailing list