Lines Matching refs:CB
788 static void PropagateCallSiteMetadata(CallBase &CB, Function::iterator FStart, in PropagateCallSiteMetadata() argument
791 CB.getMetadata(LLVMContext::MD_mem_parallel_loop_access); in PropagateCallSiteMetadata()
792 MDNode *AccessGroup = CB.getMetadata(LLVMContext::MD_access_group); in PropagateCallSiteMetadata()
793 MDNode *AliasScope = CB.getMetadata(LLVMContext::MD_alias_scope); in PropagateCallSiteMetadata()
794 MDNode *NoAlias = CB.getMetadata(LLVMContext::MD_noalias); in PropagateCallSiteMetadata()
967 static void AddAliasScopeMetadata(CallBase &CB, ValueToValueMapTy &VMap, in AddAliasScopeMetadata() argument
973 const Function *CalledFunc = CB.getCalledFunction(); in AddAliasScopeMetadata()
977 if (CB.paramHasAttr(Arg.getArgNo(), Attribute::NoAlias) && !Arg.use_empty()) in AddAliasScopeMetadata()
1023 IRBuilder<>(&CB).CreateNoAliasScopeDeclaration(AScopeList); in AddAliasScopeMetadata()
1125 if (!CB.paramHasAttr(A->getArgNo(), Attribute::NoAlias)) in AddAliasScopeMetadata()
1220 static AttrBuilder IdentifyValidAttributes(CallBase &CB) { in IdentifyValidAttributes() argument
1222 AttrBuilder AB(CB.getContext(), CB.getAttributes().getRetAttrs()); in IdentifyValidAttributes()
1225 AttrBuilder Valid(CB.getContext()); in IdentifyValidAttributes()
1240 static void AddReturnAttributes(CallBase &CB, ValueToValueMapTy &VMap) { in AddReturnAttributes() argument
1244 AttrBuilder Valid = IdentifyValidAttributes(CB); in AddReturnAttributes()
1247 auto *CalledFunction = CB.getCalledFunction(); in AddReturnAttributes()
1296 static void AddAlignmentAssumptions(CallBase &CB, InlineFunctionInfo &IFI) { in AddAlignmentAssumptions() argument
1300 AssumptionCache *AC = &IFI.GetAssumptionCache(*CB.getCaller()); in AddAlignmentAssumptions()
1301 auto &DL = CB.getCaller()->getParent()->getDataLayout(); in AddAlignmentAssumptions()
1308 Function *CalledFunc = CB.getCalledFunction(); in AddAlignmentAssumptions()
1313 DT.recalculate(*CB.getCaller()); in AddAlignmentAssumptions()
1319 Value *ArgVal = CB.getArgOperand(Arg.getArgNo()); in AddAlignmentAssumptions()
1320 if (getKnownAlignment(ArgVal, DL, &CB, AC, &DT) >= Align) in AddAlignmentAssumptions()
1324 IRBuilder<>(&CB).CreateAlignmentAssumption(DL, ArgVal, Align); in AddAlignmentAssumptions()
1334 static void UpdateCallGraphAfterInlining(CallBase &CB, in UpdateCallGraphAfterInlining() argument
1339 const Function *Caller = CB.getCaller(); in UpdateCallGraphAfterInlining()
1340 const Function *Callee = CB.getCalledFunction(); in UpdateCallGraphAfterInlining()
1402 CallerNode->removeCallEdgeFor(*cast<CallBase>(&CB)); in UpdateCallGraphAfterInlining()
1700 inlineRetainOrClaimRVCalls(CallBase &CB, objcarc::ARCInstKind RVCallKind, in inlineRetainOrClaimRVCalls() argument
1702 Module *Mod = CB.getModule(); in inlineRetainOrClaimRVCalls()
1755 Value *BundleArgs[] = {*objcarc::getAttachedARCFunction(&CB)}; in inlineRetainOrClaimRVCalls()
1786 llvm::InlineResult llvm::InlineFunction(CallBase &CB, InlineFunctionInfo &IFI, in InlineFunction() argument
1790 assert(CB.getParent() && CB.getFunction() && "Instruction not in function!"); in InlineFunction()
1793 if (isa<CallBrInst>(CB)) in InlineFunction()
1799 Function *CalledFunc = CB.getCalledFunction(); in InlineFunction()
1806 if (CB.hasOperandBundles()) { in InlineFunction()
1807 for (int i = 0, e = CB.getNumOperandBundles(); i != e; ++i) { in InlineFunction()
1808 uint32_t Tag = CB.getOperandBundleAt(i).getTagID(); in InlineFunction()
1824 bool MarkNoUnwind = CB.doesNotThrow(); in InlineFunction()
1826 BasicBlock *OrigBB = CB.getParent(); in InlineFunction()
1878 CB.getOperandBundle(LLVMContext::OB_funclet); in InlineFunction()
1911 if (CallSiteEHPad && isa<CallInst>(CB)) { in InlineFunction()
1947 ScopedAliasMetadataDeepCloner SAMetadataCloner(CB.getCalledFunction()); in InlineFunction()
1953 auto AI = CB.arg_begin(); in InlineFunction()
1963 if (CB.isByValArgument(ArgNo)) { in InlineFunction()
1964 ActualArg = HandleByValArgument(CB.getParamByValType(ArgNo), ActualArg, in InlineFunction()
1965 &CB, CalledFunc, IFI, in InlineFunction()
1969 {ActualArg, (Value *)*AI, CB.getParamByValType(ArgNo)}); in InlineFunction()
1979 AddAlignmentAssumptions(CB, IFI); in InlineFunction()
1985 salvageKnowledge(&CB, AC); in InlineFunction()
1998 objcarc::ARCInstKind RVCallKind = objcarc::getAttachedARCFunctionKind(&CB); in InlineFunction()
2000 inlineRetainOrClaimRVCalls(CB, RVCallKind, Returns); in InlineFunction()
2013 updateCallProfile(CalledFunc, VMap, *Profile, CB, IFI.PSI, in InlineFunction()
2023 CB.getOperandBundle(LLVMContext::OB_deopt); in InlineFunction()
2072 UpdateCallGraphAfterInlining(CB, FirstNewBlock, VMap, IFI); in InlineFunction()
2077 fixupLineNumbers(Caller, FirstNewBlock, &CB, in InlineFunction()
2085 AddAliasScopeMetadata(CB, VMap, DL, CalleeAAR, InlinedFunctionInfo); in InlineFunction()
2089 AddReturnAttributes(CB, VMap); in InlineFunction()
2092 PropagateCallSiteMetadata(CB, FirstNewBlock, Caller->end()); in InlineFunction()
2147 i < CB.arg_size(); i++) { in InlineFunction()
2148 VarArgsToForward.push_back(CB.getArgOperand(i)); in InlineFunction()
2149 VarArgsAttrs.push_back(CB.getAttributes().getParamAttrs(i)); in InlineFunction()
2155 if (CallInst *CI = dyn_cast<CallInst>(&CB)) in InlineFunction()
2323 if (auto *II = dyn_cast<InvokeInst>(&CB)) { in InlineFunction()
2372 if (Caller->getReturnType() == CB.getType()) { in InlineFunction()
2431 bool NeedBitCast = !CB.use_empty() && CB.getType() != NewRetTy; in InlineFunction()
2472 if (auto *CB = dyn_cast<CallBase>(&I)) in InlineFunction() local
2473 if (!(CB->getCalledFunction() && in InlineFunction()
2474 CB->getCalledFunction()->isIntrinsic())) in InlineFunction()
2475 IFI.InlinedCallSites.push_back(CB); in InlineFunction()
2483 OrigBB->getInstList().splice(CB.getIterator(), FirstNewBlock->getInstList(), in InlineFunction()
2490 if (InvokeInst *II = dyn_cast<InvokeInst>(&CB)) { in InlineFunction()
2491 BranchInst *NewBr = BranchInst::Create(II->getNormalDest(), &CB); in InlineFunction()
2497 if (!CB.use_empty()) { in InlineFunction()
2499 if (&CB == R->getReturnValue()) in InlineFunction()
2500 CB.replaceAllUsesWith(UndefValue::get(CB.getType())); in InlineFunction()
2502 CB.replaceAllUsesWith(R->getReturnValue()); in InlineFunction()
2505 CB.eraseFromParent(); in InlineFunction()
2522 if (InvokeInst *II = dyn_cast<InvokeInst>(&CB)) { in InlineFunction()
2525 CreatedBranchToNormalDest = BranchInst::Create(II->getNormalDest(), &CB); in InlineFunction()
2538 AfterCallBB = OrigBB->splitBasicBlock(CB.getIterator(), in InlineFunction()
2571 if (!CB.use_empty()) { in InlineFunction()
2572 PHI = PHINode::Create(RTy, Returns.size(), CB.getName(), in InlineFunction()
2576 CB.replaceAllUsesWith(PHI); in InlineFunction()
2608 if (!CB.use_empty()) { in InlineFunction()
2609 if (&CB == Returns[0]->getReturnValue()) in InlineFunction()
2610 CB.replaceAllUsesWith(UndefValue::get(CB.getType())); in InlineFunction()
2612 CB.replaceAllUsesWith(Returns[0]->getReturnValue()); in InlineFunction()
2630 } else if (!CB.use_empty()) { in InlineFunction()
2633 CB.replaceAllUsesWith(PoisonValue::get(CB.getType())); in InlineFunction()
2637 CB.eraseFromParent(); in InlineFunction()