reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
4267 if (isAllocationFn(&Call, &TLI)) 4268 annotateAnyAllocSite(Call, &TLI); 4278 for (Value *V : Call.args()) { 4280 !Call.paramHasAttr(ArgNo, Attribute::NonNull) && 4281 isKnownNonZero(V, DL, 0, &AC, &Call, &DT)) 4286 assert(ArgNo == Call.arg_size() && "sanity check"); 4289 AttributeList AS = Call.getAttributes(); 4290 LLVMContext &Ctx = Call.getContext(); 4293 Call.setAttributes(AS); 4299 Value *Callee = Call.getCalledValue(); 4300 if (!isa<Function>(Callee) && transformConstExprCastCall(Call)) 4305 if (Call.isConvergent() && !CalleeF->isConvergent() && 4307 LLVM_DEBUG(dbgs() << "Removing convergent attr from instr " << Call 4309 Call.setNotConvergent(); 4310 return &Call; 4315 if (CalleeF->getCallingConv() != Call.getCallingConv() && 4320 Instruction *OldCall = &Call; 4339 !NullPointerIsDefined(Call.getFunction())) || 4343 if (!Call.getType()->isVoidTy()) 4344 replaceInstUsesWith(Call, UndefValue::get(Call.getType())); 4344 replaceInstUsesWith(Call, UndefValue::get(Call.getType())); 4346 if (Call.isTerminator()) { 4352 CreateNonTerminatorUnreachable(&Call); 4353 return eraseInstFromFunction(Call); 4357 return transformCallThroughTrampoline(Call, *II); 4365 for (auto I = Call.arg_begin() + FTy->getNumParams(), E = Call.arg_end(); 4365 for (auto I = Call.arg_begin() + FTy->getNumParams(), E = Call.arg_end(); 4368 if (CI && isSafeToEliminateVarargsCast(Call, DL, CI, ix)) { 4372 if (Call.isByValArgument(ix)) { 4373 Call.removeParamAttr(ix, Attribute::ByVal); 4374 Call.addParamAttr( 4376 Call.getContext(), 4384 if (isa<InlineAsm>(Callee) && !Call.doesNotThrow()) { 4386 Call.setDoesNotThrow(); 4393 if (CallInst *CI = dyn_cast<CallInst>(&Call)) { 4400 if (isAllocLikeFn(&Call, &TLI)) 4401 return visitAllocSite(Call); 4403 return Changed ? &Call : nullptr;