Lines Matching refs:Inst
35 bool llvm::objcarc::CanAlterRefCount(const Instruction *Inst, const Value *Ptr,
48 ImmutableCallSite CS(Inst);
56 const DataLayout &DL = Inst->getModule()->getDataLayout();
71 bool llvm::objcarc::CanDecrementRefCount(const Instruction *Inst,
80 return CanAlterRefCount(Inst, Ptr, PA, Class);
85 bool llvm::objcarc::CanUse(const Instruction *Inst, const Value *Ptr,
92 const DataLayout &DL = Inst->getModule()->getDataLayout();
96 if (const ICmpInst *ICI = dyn_cast<ICmpInst>(Inst)) {
102 } else if (auto CS = ImmutableCallSite(Inst)) {
112 } else if (const StoreInst *SI = dyn_cast<StoreInst>(Inst)) {
123 for (User::const_op_iterator OI = Inst->op_begin(), OE = Inst->op_end();
132 /// Test if there can be dependencies on Inst through Arg. This function only
135 llvm::objcarc::Depends(DependenceKind Flavor, Instruction *Inst,
138 if (Inst == Arg)
143 ARCInstKind Class = GetARCInstKind(Inst);
150 return CanUse(Inst, Arg, PA, Class);
155 ARCInstKind Class = GetARCInstKind(Inst);
168 ARCInstKind Class = GetARCInstKind(Inst);
177 return CanAlterRefCount(Inst, Arg, PA, Class);
182 switch (GetBasicARCInstKind(Inst)) {
191 return GetArgRCIdentityRoot(Inst) == Arg;
198 ARCInstKind Class = GetBasicARCInstKind(Inst);
203 return GetArgRCIdentityRoot(Inst) == Arg;
212 return CanInterruptRV(GetBasicARCInstKind(Inst));
255 Instruction *Inst = &*--LocalStartPos;
256 if (Depends(Flavor, Inst, Arg, PA)) {
257 DependingInsts.insert(Inst);