From e056397e8115a8ef1b22908695fa45d6dfee9d71 Mon Sep 17 00:00:00 2001 From: Michael Gottesman Date: Mon, 29 Apr 2013 05:13:13 +0000 Subject: [PATCH] [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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180693 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/ObjCARC/ObjCARCOpts.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/Transforms/ObjCARC/ObjCARCOpts.cpp b/lib/Transforms/ObjCARC/ObjCARCOpts.cpp index e6c5928375f..a045582d532 100644 --- a/lib/Transforms/ObjCARC/ObjCARCOpts.cpp +++ b/lib/Transforms/ObjCARC/ObjCARCOpts.cpp @@ -2581,6 +2581,11 @@ ObjCARCOpt::ConnectTDBUTraversals(DenseMap // 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(DenseMap 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! -- 2.34.1