Lines Matching refs:CB
538 CallBase *CB = dyn_cast<CallBase>(U->getUser()); in captured() local
539 if (!CB) { in captured()
544 Function *F = CB->getCalledFunction(); in captured()
550 assert(!CB->isCallee(U) && "callee operand reported captured?"); in captured()
551 const unsigned UseIndex = CB->getDataOperandNo(U); in captured()
552 if (UseIndex >= CB->arg_size()) { in captured()
554 assert(CB->hasOperandBundles() && "Must be!"); in captured()
650 CallBase &CB = cast<CallBase>(*I); in determinePointerAccessAttrs() local
651 if (CB.isCallee(U)) { in determinePointerAccessAttrs()
660 const unsigned UseIndex = CB.getDataOperandNo(U); in determinePointerAccessAttrs()
666 &CB, /*MustPreserveNullness=*/false)) { in determinePointerAccessAttrs()
667 for (Use &UU : CB.uses()) in determinePointerAccessAttrs()
670 } else if (!CB.doesNotCapture(UseIndex)) { in determinePointerAccessAttrs()
671 if (!CB.onlyReadsMemory()) in determinePointerAccessAttrs()
684 ModRefInfo ArgMR = CB.getMemoryEffects().getModRef(IRMemLocation::ArgMem); in determinePointerAccessAttrs()
688 if (Function *F = CB.getCalledFunction()) in determinePointerAccessAttrs()
689 if (CB.isArgOperand(U) && UseIndex < F->arg_size() && in determinePointerAccessAttrs()
698 if (CB.doesNotAccessMemory(UseIndex)) { in determinePointerAccessAttrs()
700 } else if (!isModSet(ArgMR) || CB.onlyReadsMemory(UseIndex)) { in determinePointerAccessAttrs()
703 CB.dataOperandHasImpliedAttr(UseIndex, Attribute::WriteOnly)) { in determinePointerAccessAttrs()
817 if (auto *CB = dyn_cast<CallBase>(&I)) { in addArgumentAttrsFromCallsites() local
818 if (auto *CalledFunc = CB->getCalledFunction()) { in addArgumentAttrsFromCallsites()
826 auto *FArg = dyn_cast<Argument>(CB->getArgOperand(CSArg.getArgNo())); in addArgumentAttrsFromCallsites()
1100 CallBase &CB = cast<CallBase>(*RVI); in isFunctionMallocLike() local
1101 if (CB.hasRetAttr(Attribute::NoAlias)) in isFunctionMallocLike()
1103 if (CB.getCalledFunction() && SCCNodes.count(CB.getCalledFunction())) in isFunctionMallocLike()
1212 CallBase &CB = cast<CallBase>(*RVI); in isReturnNonNull() local
1213 Function *Callee = CB.getCalledFunction(); in isReturnNonNull()
1481 const CallBase *CB = dyn_cast<CallBase>(&I); in InstrBreaksNonConvergent() local
1484 return CB && CB->isConvergent() && in InstrBreaksNonConvergent()
1485 !SCCNodes.contains(CB->getCalledFunction()); in InstrBreaksNonConvergent()
1506 CallBase *CB = dyn_cast<CallBase>(&I); in InstrBreaksNoFree() local
1507 if (!CB) in InstrBreaksNoFree()
1510 if (CB->hasFnAttr(Attribute::NoFree)) in InstrBreaksNoFree()
1514 if (Function *Callee = CB->getCalledFunction()) in InstrBreaksNoFree()
1553 auto *CB = dyn_cast<CallBase>(&I); in InstrBreaksNoSync() local
1554 if (!CB) in InstrBreaksNoSync()
1558 if (CB->hasFnAttr(Attribute::NoSync)) in InstrBreaksNoSync()
1569 if (Function *Callee = CB->getCalledFunction()) in InstrBreaksNoSync()
1696 if (auto *CB = dyn_cast<CallBase>(&I)) { in addNoRecurseAttrs() local
1697 Function *Callee = CB->getCalledFunction(); in addNoRecurseAttrs()
1715 if (auto *CB = dyn_cast<CallBase>(&I)) in instructionDoesNotReturn() local
1716 return CB->hasFnAttr(Attribute::NoReturn); in instructionDoesNotReturn()
1822 if (auto *CB = dyn_cast<CallBase>(&I)) { in createSCCNodeSet() local
1823 if (!CB->getCalledFunction()) { in createSCCNodeSet()
1980 CallBase *CB = dyn_cast<CallBase>(I); in addNoRecurseAttrsTopDown() local
1981 if (!CB || !CB->isCallee(&U) || in addNoRecurseAttrsTopDown()
1982 !CB->getParent()->getParent()->doesNotRecurse()) in addNoRecurseAttrsTopDown()