class BundledRetainClaimRVs
Declaration
class BundledRetainClaimRVs { /* full declaration omitted */ };
Declared at: llvm/lib/Transforms/ObjCARC/ObjCARC.h:105
Member Variables
- private DenseMap<llvm::CallInst*, llvm::CallBase*> RVCalls
- A map of inserted retainRV/claimRV calls to annotated calls/invokes.
- private bool ContractPass
Method Overview
- public BundledRetainClaimRVs(bool ContractPass)
- public bool contains(const llvm::Instruction * I) const
- public void eraseInst(llvm::CallInst * CI)
- public std::pair<bool, bool> insertAfterInvokes(llvm::Function & F, llvm::DominatorTree * DT)
- public llvm::CallInst * insertRVCall(llvm::Instruction * InsertPt, llvm::CallBase * AnnotatedCall)
- public llvm::CallInst * insertRVCallWithColors(llvm::Instruction * InsertPt, llvm::CallBase * AnnotatedCall, const DenseMap<llvm::BasicBlock *, llvm::ColorVector> & BlockColors)
- public ~BundledRetainClaimRVs()
Methods
¶BundledRetainClaimRVs(bool ContractPass)
BundledRetainClaimRVs(bool ContractPass)
Declared at: llvm/lib/Transforms/ObjCARC/ObjCARC.h:107
Parameters
- bool ContractPass
¶bool contains(const llvm::Instruction* I) const
bool contains(const llvm::Instruction* I) const
Description
See if an instruction is a bundled retainRV/claimRV call.
Declared at: llvm/lib/Transforms/ObjCARC/ObjCARC.h:124
Parameters
- const llvm::Instruction* I
¶void eraseInst(llvm::CallInst* CI)
void eraseInst(llvm::CallInst* CI)
Description
Remove a retainRV/claimRV call entirely.
Declared at: llvm/lib/Transforms/ObjCARC/ObjCARC.h:131
Parameters
- llvm::CallInst* CI
¶std::pair<bool, bool> insertAfterInvokes(
llvm::Function& F,
llvm::DominatorTree* DT)
std::pair<bool, bool> insertAfterInvokes(
llvm::Function& F,
llvm::DominatorTree* DT)
Description
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.
Declared at: llvm/lib/Transforms/ObjCARC/ObjCARC.h:113
Parameters
¶llvm::CallInst* insertRVCall(
llvm::Instruction* InsertPt,
llvm::CallBase* AnnotatedCall)
llvm::CallInst* insertRVCall(
llvm::Instruction* InsertPt,
llvm::CallBase* AnnotatedCall)
Description
Insert a retainRV/claimRV call.
Declared at: llvm/lib/Transforms/ObjCARC/ObjCARC.h:116
Parameters
- llvm::Instruction* InsertPt
- llvm::CallBase* AnnotatedCall
¶llvm::CallInst* insertRVCallWithColors(
llvm::Instruction* InsertPt,
llvm::CallBase* AnnotatedCall,
const DenseMap<llvm::BasicBlock*,
llvm::ColorVector>&
BlockColors)
llvm::CallInst* insertRVCallWithColors(
llvm::Instruction* InsertPt,
llvm::CallBase* AnnotatedCall,
const DenseMap<llvm::BasicBlock*,
llvm::ColorVector>&
BlockColors)
Description
Insert a retainRV/claimRV call with colors.
Declared at: llvm/lib/Transforms/ObjCARC/ObjCARC.h:119
Parameters
- llvm::Instruction* InsertPt
- llvm::CallBase* AnnotatedCall
- const DenseMap<llvm::BasicBlock*, llvm::ColorVector>& BlockColors
¶~BundledRetainClaimRVs()
~BundledRetainClaimRVs()
Declared at: llvm/lib/Transforms/ObjCARC/ObjCARC.h:108