[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:21:38 PDT 2013


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130428/d358b18f/attachment.html>


More information about the llvm-commits mailing list