[llvm] r180693 - [objc-arc-annotations] Moved the disabling of call movement to ConnectTDBUTraversals so that I can prevent Changed = true from being set. This prevents an infinite loop.

Michael Gottesman mgottesman at apple.com
Sun Apr 28 22:26:27 PDT 2013


Committed fix in r180694.

Michael

On Apr 28, 2013, at 10:21 PM, Michael Gottesman <mgottesman at apple.com> wrote:

> This is borked. Fixing now.
> 
> On Apr 28, 2013, at 10:13 PM, Michael Gottesman <mgottesman at apple.com> wrote:
> 
>> Author: mgottesman
>> Date: Mon Apr 29 00:13:13 2013
>> New Revision: 180693
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=180693&view=rev
>> Log:
>> [objc-arc-annotations] Moved the disabling of call movement to ConnectTDBUTraversals so that I can prevent Changed = true from being set. This prevents an infinite loop.
>> 
>> Modified:
>>    llvm/trunk/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
>> 
>> Modified: llvm/trunk/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/ObjCARC/ObjCARCOpts.cpp?rev=180693&r1=180692&r2=180693&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Transforms/ObjCARC/ObjCARCOpts.cpp (original)
>> +++ llvm/trunk/lib/Transforms/ObjCARC/ObjCARCOpts.cpp Mon Apr 29 00:13:13 2013
>> @@ -2581,6 +2581,11 @@ ObjCARCOpt::ConnectTDBUTraversals(DenseM
>>   // long as the existing imbalances are maintained.
>>   if (OldDelta != 0)
>>     return false;
>> +  
>> +#ifdef ARC_ANNOTATIONS
>> +  // Do not move calls if ARC annotations are requested.
>> +  return false;
>> +#endif // ARC_ANNOTATIONS
>> 
>>   Changed = true;
>>   assert(OldCount != 0 && "Unreachable code?");
>> @@ -2644,12 +2649,6 @@ ObjCARCOpt::PerformCodePlacement(DenseMa
>>                             ReleasesToMove, Arg, KnownSafe,
>>                             AnyPairsCompletelyEliminated);
>> 
>> -#ifdef ARC_ANNOTATIONS
>> -    // Do not move calls if ARC annotations are requested. If we were to move
>> -    // calls in this case, we would not be able
>> -    PerformMoveCalls = PerformMoveCalls && !EnableARCAnnotations;
>> -#endif // ARC_ANNOTATIONS
>> -
>>     if (PerformMoveCalls) {
>>       // Ok, everything checks out and we're all set. Let's move/delete some
>>       // code!
>> 
>> 
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 
> _______________________________________________
> 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/20130428/f7535249/attachment.html>


More information about the llvm-commits mailing list