LLVM: llvm::objcarc::PtrState Class Reference (original) (raw)

This class summarizes several per-pointer runtime properties which are propagated through the flow graph. More...

#include "[Transforms/ObjCARC/PtrState.h](PtrState%5F8h%5Fsource.html)"

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
Protected Attributes
bool KnownPositiveRefCount = false
True if the reference count is known to be incremented.
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.
unsigned char Seq: 8
The current position in the sequence.
RRInfo RRI
Unidirectional information about the current sequence.

This class summarizes several per-pointer runtime properties which are propagated through the flow graph.

Definition at line 100 of file PtrState.h.

llvm::objcarc::PtrState::PtrState ( ) inlineprotected

ClearKnownPositiveRefCount()

void PtrState::ClearKnownPositiveRefCount ( )

ClearReverseInsertPts()

void llvm::objcarc::PtrState::ClearReverseInsertPts ( ) inline

ClearSequenceProgress()

void llvm::objcarc::PtrState::ClearSequenceProgress ( ) inline

GetReleaseMetadata()

const MDNode * llvm::objcarc::PtrState::GetReleaseMetadata ( ) const inline

GetRRInfo()

const RRInfo & llvm::objcarc::PtrState::GetRRInfo ( ) const inline

GetSeq()

Sequence llvm::objcarc::PtrState::GetSeq ( ) const inline

HasKnownPositiveRefCount()

bool llvm::objcarc::PtrState::HasKnownPositiveRefCount ( ) const inline

HasReverseInsertPts()

bool llvm::objcarc::PtrState::HasReverseInsertPts ( ) const inline

InsertCall()

void llvm::objcarc::PtrState::InsertCall ( Instruction * I) inline

InsertReverseInsertPt()

void llvm::objcarc::PtrState::InsertReverseInsertPt ( Instruction * I) inline

IsCFGHazardAfflicted()

bool llvm::objcarc::PtrState::IsCFGHazardAfflicted ( ) const inline

IsKnownSafe()

bool llvm::objcarc::PtrState::IsKnownSafe ( ) const inline

IsTailCallRelease()

bool llvm::objcarc::PtrState::IsTailCallRelease ( ) const inline

IsTrackingImpreciseReleases()

bool llvm::objcarc::PtrState::IsTrackingImpreciseReleases ( ) const inline

Merge()

ResetSequenceProgress()

void PtrState::ResetSequenceProgress ( Sequence NewSeq )

SetCFGHazardAfflicted()

void llvm::objcarc::PtrState::SetCFGHazardAfflicted ( const bool NewValue) inline

SetKnownPositiveRefCount()

void PtrState::SetKnownPositiveRefCount ( )

SetKnownSafe()

void llvm::objcarc::PtrState::SetKnownSafe ( const bool NewValue) inline

SetReleaseMetadata()

void llvm::objcarc::PtrState::SetReleaseMetadata ( MDNode * NewValue) inline

SetSeq()

void PtrState::SetSeq ( Sequence NewSeq )

SetTailCallRelease()

void llvm::objcarc::PtrState::SetTailCallRelease ( const bool NewValue) inline

KnownPositiveRefCount

bool llvm::objcarc::PtrState::KnownPositiveRefCount = false protected

Partial

bool llvm::objcarc::PtrState::Partial = false protected

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 107 of file PtrState.h.

Referenced by Merge(), and ResetSequenceProgress().

RRI

RRInfo llvm::objcarc::PtrState::RRI protected

Unidirectional information about the current sequence.

Definition at line 113 of file PtrState.h.

Referenced by ClearReverseInsertPts(), GetReleaseMetadata(), GetRRInfo(), HasReverseInsertPts(), InsertCall(), InsertReverseInsertPt(), IsCFGHazardAfflicted(), IsKnownSafe(), IsTailCallRelease(), IsTrackingImpreciseReleases(), Merge(), ResetSequenceProgress(), SetCFGHazardAfflicted(), SetKnownSafe(), SetReleaseMetadata(), and SetTailCallRelease().

Seq


The documentation for this class was generated from the following files: