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

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

Public Member Functions
BundledRetainClaimRVs (ARCRuntimeEntryPoints &EP, bool ContractPass, bool UseClaimRV)
~BundledRetainClaimRVs ()
std::pair< bool, bool > insertAfterInvokes (Function &F, DominatorTree *DT)
Insert a retainRV/claimRV call to the normal destination blocks of invokes with operand bundle "clang.arc.attachedcall".
CallInst * insertRVCall (BasicBlock::iterator InsertPt, CallBase *AnnotatedCall)
Insert a retainRV/claimRV call.
CallInst * insertRVCallWithColors (BasicBlock::iterator InsertPt, CallBase *AnnotatedCall, const DenseMap< BasicBlock *, ColorVector > &BlockColors)
Insert a retainRV/claimRV call with colors.
bool contains (const Instruction *I) const
See if an instruction is a bundled retainRV/claimRV call.
void eraseInst (CallInst *CI)
Remove a retainRV/claimRV call entirely.

Definition at line 106 of file ObjCARC.h.

~BundledRetainClaimRVs()

BundledRetainClaimRVs::~BundledRetainClaimRVs ( )

contains()

eraseInst()

void llvm::objcarc::BundledRetainClaimRVs::eraseInst ( CallInst * CI) inline

insertAfterInvokes()

Insert a retainRV/claimRV call to the normal destination blocks of invokes with operand bundle "clang.arc.attachedcall".

If the edge to the normal destination block is a critical edge, split it.

Definition at line 44 of file ObjCARC.cpp.

References assert(), Changed, llvm::dyn_cast(), F, llvm::BasicBlock::getFirstInsertionPt(), llvm::BasicBlock::getSinglePredecessor(), llvm::objcarc::hasAttachedCallOpBundle(), I, insertRVCall(), and llvm::SplitCriticalEdge().

insertRVCall()

insertRVCallWithColors()


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