struct TopDownPtrState
Declaration
struct TopDownPtrState : public 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:189
Inherits from: PtrState
Member Variables
Inherited from PtrState:
Method Overview
- public bool HandlePotentialAlterRefCount(llvm::Instruction * Inst, const llvm::Value * Ptr, llvm::objcarc::ProvenanceAnalysis & PA, llvm::objcarc::ARCInstKind Class)
- public void HandlePotentialUse(llvm::Instruction * Inst, const llvm::Value * Ptr, llvm::objcarc::ProvenanceAnalysis & PA, llvm::objcarc::ARCInstKind Class)
- public bool InitTopDown(llvm::objcarc::ARCInstKind Kind, llvm::Instruction * I)
- public bool MatchWithRelease(llvm::objcarc::ARCMDKindCache & Cache, llvm::Instruction * Release)
- public TopDownPtrState()
Inherited from PtrState:
- public ClearKnownPositiveRefCount
- public ClearReverseInsertPts
- public ClearSequenceProgress
- public GetRRInfo
- public GetReleaseMetadata
- public GetSeq
- public HasKnownPositiveRefCount
- public HasReverseInsertPts
- public InsertCall
- public InsertReverseInsertPt
- public IsCFGHazardAfflicted
- public IsKnownSafe
- public IsTailCallRelease
- public IsTrackingImpreciseReleases
- public Merge
- public ResetSequenceProgress
- public SetCFGHazardAfflicted
- public SetKnownPositiveRefCount
- public SetKnownSafe
- public SetReleaseMetadata
- public SetSeq
- public SetTailCallRelease
Methods
¶bool HandlePotentialAlterRefCount(
llvm::Instruction* Inst,
const llvm::Value* Ptr,
llvm::objcarc::ProvenanceAnalysis& PA,
llvm::objcarc::ARCInstKind Class)
bool HandlePotentialAlterRefCount(
llvm::Instruction* Inst,
const llvm::Value* Ptr,
llvm::objcarc::ProvenanceAnalysis& PA,
llvm::objcarc::ARCInstKind Class)
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:204
Parameters
- llvm::Instruction* Inst
- const llvm::Value* Ptr
- llvm::objcarc::ProvenanceAnalysis& PA
- llvm::objcarc::ARCInstKind Class
¶void HandlePotentialUse(
llvm::Instruction* Inst,
const llvm::Value* Ptr,
llvm::objcarc::ProvenanceAnalysis& PA,
llvm::objcarc::ARCInstKind Class)
void HandlePotentialUse(
llvm::Instruction* Inst,
const llvm::Value* Ptr,
llvm::objcarc::ProvenanceAnalysis& PA,
llvm::objcarc::ARCInstKind Class)
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:201
Parameters
- llvm::Instruction* Inst
- const llvm::Value* Ptr
- llvm::objcarc::ProvenanceAnalysis& PA
- llvm::objcarc::ARCInstKind Class
¶bool InitTopDown(llvm::objcarc::ARCInstKind Kind,
llvm::Instruction* I)
bool InitTopDown(llvm::objcarc::ARCInstKind Kind,
llvm::Instruction* I)
Description
(Re-)Initialize this bottom up pointer returning true if we detected a pointer with nested releases.
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:194
Parameters
- llvm::objcarc::ARCInstKind Kind
- llvm::Instruction* I
¶bool MatchWithRelease(
llvm::objcarc::ARCMDKindCache& Cache,
llvm::Instruction* Release)
bool MatchWithRelease(
llvm::objcarc::ARCMDKindCache& Cache,
llvm::Instruction* Release)
Description
Return true if this set of retains can be paired with the given release. Modifies state appropriately to reflect that the matching occurred.
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:199
Parameters
- llvm::objcarc::ARCMDKindCache& Cache
- llvm::Instruction* Release
¶TopDownPtrState()
TopDownPtrState()
Declared at: llvm/lib/Transforms/ObjCARC/PtrState.h:190