[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:13:14 PDT 2013
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!
More information about the llvm-commits
mailing list