[llvm] r198131 - Uninitialized variable (in never taken path) after factoring.

Andrew Trick atrick at apple.com
Mon Jan 6 12:59:22 PST 2014


> On Jan 6, 2014, at 12:31 PM, "dblaikie at gmail.com" <dblaikie at gmail.com> wrote:
> 
> 
> 
>> On Sat Dec 28 2013 at 2:32:19 PM, Andrew Trick <atrick at apple.com> wrote:
>> Author: atrick
>> Date: Sat Dec 28 16:25:57 2013
>> New Revision: 198131
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=198131&view=rev
>> Log:
>> Uninitialized variable (in never taken path) after factoring.
> 
> Generally we prefer not to initialize variables just to satisfy bad compiler warnings. Chandler especially has voiced strong opinions (that I tend to agree with) that initializing variables to satisfy compiler warnings when the code has a known invariant that makes the initialization unnecessary is counterproductive as it thwarts dynamic checkers like MSan/Valgrind/etc.

Got it. In this case the warning is legit. The path was only never taken by chance because we weren't testing with a flag enabled. I've since added a test. 

Andy 

>> 
>> Modified:
>>     llvm/trunk/lib/CodeGen/MachineScheduler.cpp
>> 
>> Modified: llvm/trunk/lib/CodeGen/MachineScheduler.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineScheduler.cpp?rev=198131&r1=198130&r2=198131&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/CodeGen/MachineScheduler.cpp (original)
>> +++ llvm/trunk/lib/CodeGen/MachineScheduler.cpp Sat Dec 28 16:25:57 2013
>> @@ -2248,7 +2248,7 @@ void GenericSchedulerBase::setPolicy(Can
>>                          CurrZone.findMaxLatency(CurrZone.Pending.elements()));
>> 
>>    // Compute the critical resource outside the zone.
>> -  unsigned OtherCritIdx;
>> +  unsigned OtherCritIdx = 0;
>>    unsigned OtherCount =
>>      OtherZone ? OtherZone->getOtherResourceCount(OtherCritIdx) : 0;
>> 
>> 
>> 
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140106/89e75921/attachment.html>


More information about the llvm-commits mailing list