[PATCH] Fix information loss in branch probability computation.
Duncan P. N. Exon Smith
dexonsmith at apple.com
Thu May 7 09:11:49 PDT 2015
> On 2015 May 7, at 12:06, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote:
>
>>
>> On 2015 May 7, at 11:57, Hans Wennborg <hans at chromium.org> wrote:
>>
>> On Thu, May 7, 2015 at 8:51 AM, Diego Novillo <dnovillo at google.com> wrote:
>>> On Thu, May 7, 2015 at 8:44 AM, Duncan P. N. Exon Smith
>>> <dexonsmith at apple.com> wrote:
>>>
>>>> This assertion will fire under circumstances such as:
>>>>
>>>> - `1` successor has a weight of `3`.
>>>> - `UINT32_MAX - 2` successors have a weight of `0` each.
>>>>
>>>> This won't get rescaled by the new BPI, but it violates the local
>>>> assumptions (with the floor, the sum will be `UINT32_MAX + 1`).
>>>
>>> Oh, absolutely. But that's not a problem now. Hans is going to rewrite
>>> the balancing algorithm to tolerate 0 weights. With that, I will be
>>> able to simplify the patch. I'll wait for that fix before committing
>>> (thanks Hans!)
>>
>> I've updated the switch lowering code to handle 0 weights without
>> tampering with them in r236739.
>
> Ah! I didn't understand this was going on in parallel. Sorry for being
> out of it.
>
> I'll go back and review the patch.
So after r236739 it looks like you can drop your change to
`SelectionDAG`, in which case the patch LGTM! Thanks Diego.
More information about the llvm-commits
mailing list