mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-09 10:31:14 +00:00
[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
This commit is contained in:
parent
d922518844
commit
e056397e81
@ -2581,6 +2581,11 @@ ObjCARCOpt::ConnectTDBUTraversals(DenseMap<const BasicBlock *, BBState>
|
|||||||
// long as the existing imbalances are maintained.
|
// long as the existing imbalances are maintained.
|
||||||
if (OldDelta != 0)
|
if (OldDelta != 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
#ifdef ARC_ANNOTATIONS
|
||||||
|
// Do not move calls if ARC annotations are requested.
|
||||||
|
return false;
|
||||||
|
#endif // ARC_ANNOTATIONS
|
||||||
|
|
||||||
Changed = true;
|
Changed = true;
|
||||||
assert(OldCount != 0 && "Unreachable code?");
|
assert(OldCount != 0 && "Unreachable code?");
|
||||||
@ -2644,12 +2649,6 @@ ObjCARCOpt::PerformCodePlacement(DenseMap<const BasicBlock *, BBState>
|
|||||||
ReleasesToMove, Arg, KnownSafe,
|
ReleasesToMove, Arg, KnownSafe,
|
||||||
AnyPairsCompletelyEliminated);
|
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) {
|
if (PerformMoveCalls) {
|
||||||
// Ok, everything checks out and we're all set. Let's move/delete some
|
// Ok, everything checks out and we're all set. Let's move/delete some
|
||||||
// code!
|
// code!
|
||||||
|
Loading…
Reference in New Issue
Block a user