LLVM
8.0.1
|
This class summarizes several per-pointer runtime properties which are propagated through the flow graph. More...
#include "Transforms/ObjCARC/PtrState.h"
Public Member Functions | |
bool | IsKnownSafe () const |
void | SetKnownSafe (const bool NewValue) |
bool | IsTailCallRelease () const |
void | SetTailCallRelease (const bool NewValue) |
bool | IsTrackingImpreciseReleases () const |
const MDNode * | GetReleaseMetadata () const |
void | SetReleaseMetadata (MDNode *NewValue) |
bool | IsCFGHazardAfflicted () const |
void | SetCFGHazardAfflicted (const bool NewValue) |
void | SetKnownPositiveRefCount () |
void | ClearKnownPositiveRefCount () |
bool | HasKnownPositiveRefCount () const |
void | SetSeq (Sequence NewSeq) |
Sequence | GetSeq () const |
void | ClearSequenceProgress () |
void | ResetSequenceProgress (Sequence NewSeq) |
void | Merge (const PtrState &Other, bool TopDown) |
void | InsertCall (Instruction *I) |
void | InsertReverseInsertPt (Instruction *I) |
void | ClearReverseInsertPts () |
bool | HasReverseInsertPts () const |
const RRInfo & | GetRRInfo () const |
Protected Member Functions | |
PtrState () | |
Protected Attributes | |
bool | KnownPositiveRefCount = false |
True if the reference count is known to be incremented. More... | |
bool | Partial = false |
True if we've seen an opportunity for partial RR elimination, such as pushing calls into a CFG triangle or into one side of a CFG diamond. More... | |
unsigned char | Seq: 8 |
The current position in the sequence. More... | |
RRInfo | RRI |
Unidirectional information about the current sequence. More... | |
This class summarizes several per-pointer runtime properties which are propagated through the flow graph.
Definition at line 102 of file PtrState.h.
|
inlineprotected |
Definition at line 117 of file PtrState.h.
void PtrState::ClearKnownPositiveRefCount | ( | ) |
Definition at line 133 of file PtrState.cpp.
References llvm::dbgs(), and LLVM_DEBUG.
|
inline |
Definition at line 162 of file PtrState.h.
References llvm::objcarc::RRInfo::ReverseInsertPts.
|
inline |
Definition at line 153 of file PtrState.h.
References llvm::objcarc::RRInfo::Merge(), Other, and llvm::objcarc::S_None.
Referenced by CheckForCanReleaseCFGHazard(), and CheckForUseCFGHazard().
Definition at line 134 of file PtrState.h.
References llvm::objcarc::RRInfo::ReleaseMetadata.
Definition at line 166 of file PtrState.h.
Referenced by CheckForCanReleaseCFGHazard().
|
inline |
Definition at line 151 of file PtrState.h.
Referenced by CheckForCanReleaseCFGHazard(), Merge(), and llvm::operator<<().
|
inline |
Definition at line 147 of file PtrState.h.
Referenced by llvm::operator<<().
|
inline |
Definition at line 164 of file PtrState.h.
References llvm::objcarc::RRInfo::ReverseInsertPts.
|
inline |
Definition at line 158 of file PtrState.h.
References llvm::objcarc::RRInfo::Calls.
|
inline |
Definition at line 160 of file PtrState.h.
References llvm::objcarc::RRInfo::ReverseInsertPts.
|
inline |
Definition at line 138 of file PtrState.h.
References llvm::objcarc::RRInfo::CFGHazardAfflicted.
Referenced by llvm::operator<<().
|
inline |
Definition at line 120 of file PtrState.h.
References llvm::objcarc::RRInfo::KnownSafe.
Referenced by CheckForCanReleaseCFGHazard(), CheckForUseCFGHazard(), and llvm::operator<<().
|
inline |
Definition at line 124 of file PtrState.h.
References llvm::objcarc::RRInfo::IsTailCallRelease.
|
inline |
Definition at line 130 of file PtrState.h.
References llvm::objcarc::RRInfo::ReleaseMetadata.
Referenced by llvm::operator<<().
Definition at line 151 of file PtrState.cpp.
References GetSeq(), KnownPositiveRefCount, MergeSeqs(), Partial, RRI, and llvm::objcarc::S_None.
void PtrState::ResetSequenceProgress | ( | Sequence | NewSeq | ) |
Definition at line 144 of file PtrState.cpp.
References llvm::dbgs(), and LLVM_DEBUG.
Definition at line 140 of file PtrState.h.
References llvm::objcarc::RRInfo::CFGHazardAfflicted.
Referenced by CheckForCanReleaseCFGHazard(), and CheckForUseCFGHazard().
void PtrState::SetKnownPositiveRefCount | ( | ) |
Definition at line 128 of file PtrState.cpp.
References llvm::dbgs(), and LLVM_DEBUG.
Definition at line 122 of file PtrState.h.
References llvm::objcarc::RRInfo::KnownSafe.
|
inline |
Definition at line 136 of file PtrState.h.
References llvm::objcarc::RRInfo::ReleaseMetadata.
void PtrState::SetSeq | ( | Sequence | NewSeq | ) |
Definition at line 138 of file PtrState.cpp.
References llvm::dbgs(), and LLVM_DEBUG.
Definition at line 126 of file PtrState.h.
References llvm::objcarc::RRInfo::IsTailCallRelease.
True if the reference count is known to be incremented.
Definition at line 105 of file PtrState.h.
Referenced by Merge().
True if we've seen an opportunity for partial RR elimination, such as pushing calls into a CFG triangle or into one side of a CFG diamond.
Definition at line 109 of file PtrState.h.
Referenced by Merge().
|
protected |
Unidirectional information about the current sequence.
Definition at line 115 of file PtrState.h.
Referenced by Merge().
The current position in the sequence.
Definition at line 112 of file PtrState.h.