[llvm] r185218 - Eliminate an assortment of undefined behavior.
Jakob Stoklund Olesen
stoklund at 2pi.dk
Fri Jun 28 14:31:26 PDT 2013
On Jun 28, 2013, at 2:28 PM, Benjamin Kramer <benny.kra at gmail.com> wrote:
>
> On 28.06.2013, at 23:10, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote:
>
>> Author: stoklund
>> Date: Fri Jun 28 16:10:25 2013
>> New Revision: 185218
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=185218&view=rev
>> Log:
>> Eliminate an assortment of undefined behavior.
>>
>> Hopefully, this fixes the PPC64 buildbots.
>>
>> Modified:
>> llvm/trunk/lib/Support/BlockFrequency.cpp
>>
>> Modified: llvm/trunk/lib/Support/BlockFrequency.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/BlockFrequency.cpp?rev=185218&r1=185217&r2=185218&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Support/BlockFrequency.cpp (original)
>> +++ llvm/trunk/lib/Support/BlockFrequency.cpp Fri Jun 28 16:10:25 2013
>> @@ -47,9 +47,13 @@ static uint64_t div96bit(uint64_t W[2],
>> uint64_t x = W[1];
>> unsigned i;
>>
>> + // This is really a 64-bit division.
>> + if (!x)
>> + return y / D;
>
> This should never happen if the mul overflow checking code works right. An assertion would be sufficient.
But it doesn’t ;-)
I am fixing it.
Thanks,
/jakob
More information about the llvm-commits
mailing list