[llvm-dev] (RFC) Encoding code duplication factor in discriminator

Dehao Chen via llvm-dev llvm-dev at lists.llvm.org
Tue Nov 1 10:29:14 PDT 2016


On Tue, Nov 1, 2016 at 10:16 AM, Robinson, Paul <paul.robinson at sony.com>
wrote:

> The largest discriminator is 779 (coming from 471.omnetpp, which has
> significant amount of EH code.)
>
>
>
> 779 distinct blocks coming from a single source location?  That's
> astounding.
>

Agree, but that's a rare case. All code in landing pads for a super large
function LargeNet::doBuildInside are mapped to the same line (end of the
function). So we end up assigning new discriminators for each one of them.


>
>
> Or something like:
>
> high bits   ---------->  low bits
>
> EEEEEEEECCCCCFFDDD CFFFDDD CCFFFDD
>
>
>
> So the lower 7 bits should be able to cover 85% percentile and the lower
> 14 bits should be able to cover 99% percentile.
>
>
>
> Having a scheme for compact representation for the vast majority of cases
> is great, and will really help keep the size of the section under control.
> Did you have a plan for the degenerate cases where one of these elements
> (D/F/C) exceeds the specified capacity?  You already have one, because 779
> > 8 bits.
>
> Thanks,
>
> --paulr
>
>
>

That's right, we still have 8 empty bits. Maybe we can extend  D to 10
bits. We can also set a cap to D, F and C.

Dehao
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161101/ddb1df9e/attachment.html>


More information about the llvm-dev mailing list