summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMichael Gottesman <mgottesman@apple.com>2013-06-21 19:44:30 +0000
committerMichael Gottesman <mgottesman@apple.com>2013-06-21 19:44:30 +0000
commit5a18572320542a66778f20fb624310fe7662cc85 (patch)
treea791e0e10a50da1cbcf3ae0ed8ee9ccadd15e7aa /lib
parent72507101f74dee7295a13ff6f99cfc8f63ff8984 (diff)
downloadllvm-5a18572320542a66778f20fb624310fe7662cc85.tar.gz
llvm-5a18572320542a66778f20fb624310fe7662cc85.tar.bz2
llvm-5a18572320542a66778f20fb624310fe7662cc85.tar.xz
[objc-arc-opts] Now that PtrState.RRI is encapsulated in PtrState, make PtrState.RRI private and delete the TODO.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184587 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Transforms/ObjCARC/ObjCARCOpts.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/Transforms/ObjCARC/ObjCARCOpts.cpp b/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
index 25caab2f2f..5489e6cd35 100644
--- a/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
+++ b/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
@@ -518,12 +518,10 @@ namespace {
/// The current position in the sequence.
Sequence Seq : 8;
- public:
/// Unidirectional information about the current sequence.
- ///
- /// TODO: Encapsulate this better.
RRInfo RRI;
+ public:
PtrState() : KnownPositiveRefCount(false), Partial(false),
Seq(S_None) {}
@@ -615,6 +613,10 @@ namespace {
bool HasReverseInsertPts() const {
return !RRI.ReverseInsertPts.empty();
}
+
+ const RRInfo &GetRRInfo() const {
+ return RRI;
+ }
};
}
@@ -1991,7 +1993,7 @@ ObjCARCOpt::VisitInstructionBottomUp(Instruction *Inst,
// Don't do retain+release tracking for IC_RetainRV, because it's
// better to let it remain as the first instruction after a call.
if (Class != IC_RetainRV)
- Retains[Inst] = S.RRI;
+ Retains[Inst] = S.GetRRInfo();
S.ClearSequenceProgress();
break;
case S_None:
@@ -2245,7 +2247,7 @@ ObjCARCOpt::VisitInstructionTopDown(Instruction *Inst,
case S_Use:
S.SetReleaseMetadata(ReleaseMetadata);
S.SetTailCallRelease(cast<CallInst>(Inst)->isTailCall());
- Releases[Inst] = S.RRI;
+ Releases[Inst] = S.GetRRInfo();
ANNOTATE_TOPDOWN(Inst, Arg, S.GetSeq(), S_None);
S.ClearSequenceProgress();
break;