[PATCH] SubRegister liveness tracking

Renato Golin renato.golin at linaro.org
Wed Oct 9 05:47:38 PDT 2013


Hi Matthias,

Patch 0009, changes to pruneValue(), is a bit confusing.

If I got it right, the new void pruneValue() will call the old pruneValue
(now returning a VNInfo), and iterate over the sub-ranges to prune them,
too.

If that's right, then VNInfo *pruneValue() should be private, too, and void
pruneValue2() could have a better name.

For my education, if I got it right, the pruneValue() family is removing
the definition "Kill" from dead live ranges, after some optimizations
killed some slots. Your change is extending this functionality to a
"complicated case", which seems to allow deeper inspection of the control
flow. I can see that you're doing a similar treatment over the successors
of the current MBB.

Why is this complicated case not happening in LiveRanges, but only in
SubRanges? Couldn't both be merged into one private implementation?

Also, I'd try to name the functions differently, possibly leaving
"pruneValue" for the entry point (void) and having some more specialized
names (like "pruneValueRange" and "pruneValueSubRange" for the private ones.

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


More information about the llvm-commits mailing list