reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
759 ARCInstKind Class = GetBasicARCInstKind(Inst); 761 LLVM_DEBUG(dbgs() << "Visiting: Class: " << Class << "; " << *Inst << "\n"); 766 Value *Opnd = Inst->getOperand(0); 769 if (!Inst->getType()->isVoidTy()) 770 Inst->replaceAllUsesWith(Opnd); 771 Inst->eraseFromParent(); 790 LLVM_DEBUG(dbgs() << "Erasing no-op cast: " << *Inst << "\n"); 791 EraseInstruction(Inst); 800 CallInst *CI = cast<CallInst>(Inst); 820 CallInst *CI = cast<CallInst>(Inst); 842 if (OptimizeRetainRVCall(F, Inst)) 846 OptimizeAutoreleaseRVCall(F, Inst, Class); 851 if (IsAutorelease(Class) && Inst->use_empty()) { 852 CallInst *Call = cast<CallInst>(Inst); 860 LLVMContext &C = Inst->getContext(); 874 Inst = NewCall; 881 if (IsAlwaysTail(Class) && !cast<CallInst>(Inst)->isNoTailCall()) { 886 << *Inst << "\n"); 887 cast<CallInst>(Inst)->setTailCall(); 894 LLVM_DEBUG(dbgs() << "Removing tail keyword from function: " << *Inst 896 cast<CallInst>(Inst)->setTailCall(false); 903 << *Inst << "\n"); 904 cast<CallInst>(Inst)->setDoesNotThrow(); 912 const Value *Arg = GetArgRCIdentityRoot(Inst); 918 LLVM_DEBUG(dbgs() << "ARC calls with null are no-ops. Erasing: " << *Inst 920 EraseInstruction(Inst); 935 !Inst->getMetadata(MDKindCache.get(ARCMDKindID::ImpreciseRelease))) 939 Worklist.push_back(std::make_pair(Inst, Arg)); 942 Inst = Pair.first; 979 Inst->getParent(), Inst, 979 Inst->getParent(), Inst, 985 Inst->getParent(), Inst, 985 Inst->getParent(), Inst, 1005 CallInst *CInst = cast<CallInst>(Inst);