class PtrState
Declaration
class PtrState { /* full declaration omitted */ };
Description
This class summarizes several per-pointer runtime properties which are propagated through the flow graph.
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:101
Member Variables
- protected bool KnownPositiveRefCount = false
- True if the reference count is known to be incremented.
- protected 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.
- protected unsigned char Seq
- The current position in the sequence.
- protected llvm::objcarc::RRInfo RRI
- Unidirectional information about the current sequence.
Method Overview
- public void ClearKnownPositiveRefCount()
- public void ClearReverseInsertPts()
- public void ClearSequenceProgress()
- public const llvm::objcarc::RRInfo & GetRRInfo() const
- public const llvm::MDNode * GetReleaseMetadata() const
- public llvm::objcarc::Sequence GetSeq() const
- public bool HasKnownPositiveRefCount() const
- public bool HasReverseInsertPts() const
- public void InsertCall(llvm::Instruction * I)
- public void InsertReverseInsertPt(llvm::Instruction * I)
- public bool IsCFGHazardAfflicted() const
- public bool IsKnownSafe() const
- public bool IsTailCallRelease() const
- public bool IsTrackingImpreciseReleases() const
- public void Merge(const llvm::objcarc::PtrState & Other, bool TopDown)
- protected PtrState()
- public void ResetSequenceProgress(llvm::objcarc::Sequence NewSeq)
- public void SetCFGHazardAfflicted(const bool NewValue)
- public void SetKnownPositiveRefCount()
- public void SetKnownSafe(const bool NewValue)
- public void SetReleaseMetadata(llvm::MDNode * NewValue)
- public void SetSeq(llvm::objcarc::Sequence NewSeq)
- public void SetTailCallRelease(const bool NewValue)
Methods
¶void ClearKnownPositiveRefCount()
void ClearKnownPositiveRefCount()
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:144
¶void ClearReverseInsertPts()
void ClearReverseInsertPts()
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:161
¶void ClearSequenceProgress()
void ClearSequenceProgress()
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:152
¶const llvm::objcarc::RRInfo& GetRRInfo() const
const llvm::objcarc::RRInfo& GetRRInfo() const
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:165
¶const llvm::MDNode* GetReleaseMetadata() const
const llvm::MDNode* GetReleaseMetadata() const
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:133
¶llvm::objcarc::Sequence GetSeq() const
llvm::objcarc::Sequence GetSeq() const
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:150
¶bool HasKnownPositiveRefCount() const
bool HasKnownPositiveRefCount() const
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:146
¶bool HasReverseInsertPts() const
bool HasReverseInsertPts() const
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:163
¶void InsertCall(llvm::Instruction* I)
void InsertCall(llvm::Instruction* I)
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:157
Parameters
¶void InsertReverseInsertPt(llvm::Instruction* I)
void InsertReverseInsertPt(llvm::Instruction* I)
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:159
Parameters
¶bool IsCFGHazardAfflicted() const
bool IsCFGHazardAfflicted() const
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:137
¶bool IsKnownSafe() const
bool IsKnownSafe() const
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:119
¶bool IsTailCallRelease() const
bool IsTailCallRelease() const
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:123
¶bool IsTrackingImpreciseReleases() const
bool IsTrackingImpreciseReleases() const
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:129
¶void Merge(const llvm::objcarc::PtrState& Other,
bool TopDown)
void Merge(const llvm::objcarc::PtrState& Other,
bool TopDown)
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:155
Parameters
- const llvm::objcarc::PtrState& Other
- bool TopDown
¶PtrState()
PtrState()
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:116
¶void ResetSequenceProgress(
llvm::objcarc::Sequence NewSeq)
void ResetSequenceProgress(
llvm::objcarc::Sequence NewSeq)
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:154
Parameters
- llvm::objcarc::Sequence NewSeq
¶void SetCFGHazardAfflicted(const bool NewValue)
void SetCFGHazardAfflicted(const bool NewValue)
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:139
Parameters
- const bool NewValue
¶void SetKnownPositiveRefCount()
void SetKnownPositiveRefCount()
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:143
¶void SetKnownSafe(const bool NewValue)
void SetKnownSafe(const bool NewValue)
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:121
Parameters
- const bool NewValue
¶void SetReleaseMetadata(llvm::MDNode* NewValue)
void SetReleaseMetadata(llvm::MDNode* NewValue)
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:135
Parameters
- llvm::MDNode* NewValue
¶void SetSeq(llvm::objcarc::Sequence NewSeq)
void SetSeq(llvm::objcarc::Sequence NewSeq)
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:148
Parameters
- llvm::objcarc::Sequence NewSeq
¶void SetTailCallRelease(const bool NewValue)
void SetTailCallRelease(const bool NewValue)
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:125
Parameters
- const bool NewValue