forked from OSchip/llvm-project
[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.
llvm-svn: 180693
This commit is contained in:
parent
cc06891c42
commit
a87bb8f50b
|
@ -2581,6 +2581,11 @@ ObjCARCOpt::ConnectTDBUTraversals(DenseMap<const BasicBlock *, BBState>
|
|||
// 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<const BasicBlock *, BBState>
|
|||
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!
|
||||
|
|
Loading…
Reference in New Issue