| /llvm-project-15.0.7/llvm/include/llvm/Analysis/ |
| H A D | InlineOrder.h | 20 class CallBase; variable 76 virtual bool hasLowerPriority(const CallBase *L, const CallBase *R) const = 0; 77 virtual void update(const CallBase *CB) = 0; 94 bool hasLowerPriority(const CallBase *L, const CallBase *R) const override { in hasLowerPriority() 115 using T = std::pair<CallBase *, int>; 136 isLess = [this](const CallBase *L, const CallBase *R) { in PriorityInlineOrder() 144 CallBase *CB = Elt.first; in push() 157 CallBase *CB = Heap.front(); in pop() 169 CallBase *CB = Heap.front(); in front() 182 SmallVector<CallBase *, 16> Heap; [all …]
|
| H A D | InlineAdvisor.h | 21 class CallBase; variable 76 InlineAdvice(InlineAdvisor *Advisor, CallBase &CB, 145 DefaultInlineAdvice(InlineAdvisor *Advisor, CallBase &CB, 157 CallBase *const OriginalCB; 178 std::unique_ptr<InlineAdvice> getAdvice(CallBase &CB, 204 virtual std::unique_ptr<InlineAdvice> getAdviceImpl(CallBase &CB) = 0; 216 static MandatoryInliningKind getMandatoryKind(CallBase &CB, 220 OptimizationRemarkEmitter &getCallerORE(CallBase &CB); 236 std::unique_ptr<InlineAdvice> getAdviceImpl(CallBase &CB) override; 299 shouldInline(CallBase &CB, function_ref<InlineCost(CallBase &CB)> GetInlineCost, [all …]
|
| H A D | AliasAnalysis.h | 632 bool doesNotAccessMemory(const CallBase *Call) { 660 bool onlyReadsMemory(const CallBase *Call) { 845 ModRefInfo getModRefInfo(const CallBase *Call1, const CallBase *Call2); 905 ModRefInfo getModRefInfo(const CallBase *Call1, const CallBase *Call2, 969 ModRefInfo getModRefInfo(const CallBase *Call1, const CallBase *Call2) { 1047 virtual ModRefInfo getArgModRefInfo(const CallBase *Call, 1058 virtual ModRefInfo getModRefInfo(const CallBase *Call, 1065 virtual ModRefInfo getModRefInfo(const CallBase *Call1, const CallBase *Call2, 1115 ModRefInfo getModRefInfo(const CallBase *Call1, const CallBase *Call2, 1195 ModRefInfo getModRefInfo(const CallBase *Call1, const CallBase *Call2, [all …]
|
| H A D | MLInlineAdvisor.h | 49 std::unique_ptr<InlineAdvice> getAdviceImpl(CallBase &CB) override; 51 std::unique_ptr<InlineAdvice> getMandatoryAdvice(CallBase &CB, 54 virtual std::unique_ptr<MLInlineAdvice> getMandatoryAdviceImpl(CallBase &CB); 57 getAdviceFromModel(CallBase &CB, OptimizationRemarkEmitter &ORE); 69 getSkipAdviceIfUnreachableCallsite(CallBase &CB); 92 MLInlineAdvice(MLInlineAdvisor *Advisor, CallBase &CB,
|
| H A D | TypeBasedAliasAnalysis.h | 25 class CallBase; variable 47 FunctionModRefBehavior getModRefBehavior(const CallBase *Call); 49 ModRefInfo getModRefInfo(const CallBase *Call, const MemoryLocation &Loc, 51 ModRefInfo getModRefInfo(const CallBase *Call1, const CallBase *Call2,
|
| H A D | InlineCost.h | 28 class CallBase; variable 226 Optional<int> getStringFnAttrAsInt(CallBase &CB, StringRef AttrKind); 247 int getCallsiteCost(CallBase &Call, const DataLayout &DL); 261 getInlineCost(CallBase &Call, const InlineParams &Params, 275 getInlineCost(CallBase &Call, Function *Callee, const InlineParams &Params, 290 CallBase &Call, Function *Callee, TargetTransformInfo &CalleeTTI, 302 CallBase &Call, TargetTransformInfo &CalleeTTI, 311 CallBase &Call, TargetTransformInfo &CalleeTTI,
|
| H A D | IndirectCallVisitor.h | 21 std::vector<CallBase *> IndirectCalls; 24 void visitCallBase(CallBase &Call) { in visitCallBase() 31 inline std::vector<CallBase *> findIndirectCalls(Function &F) { in findIndirectCalls()
|
| H A D | MemoryBuiltins.h | 72 Value *getReallocatedOperand(const CallBase *CB, const TargetLibraryInfo *TLI); 82 Value *getFreedOperand(const CallBase *CB, const TargetLibraryInfo *TLI); 97 bool isRemovableAlloc(const CallBase *V, const TargetLibraryInfo *TLI); 103 Value *getAllocAlignment(const CallBase *V, const TargetLibraryInfo *TLI); 111 const CallBase *CB, const TargetLibraryInfo *TLI, 221 SizeOffsetType visitCallBase(CallBase &CB); 296 SizeOffsetEvalType visitCallBase(CallBase &CB);
|
| H A D | ObjCARCUtil.h | 29 inline bool hasAttachedCallOpBundle(const CallBase *CB) { in hasAttachedCallOpBundle() 43 inline Optional<Function *> getAttachedARCFunction(const CallBase *CB) { in getAttachedARCFunction() 60 inline ARCInstKind getAttachedARCFunctionKind(const CallBase *CB) { in getAttachedARCFunctionKind()
|
| /llvm-project-15.0.7/llvm/include/llvm/Transforms/Utils/ |
| H A D | CallPromotionUtils.h | 18 class CallBase; variable 31 bool isLegalToPromote(const CallBase &CB, Function *Callee, 41 CallBase &promoteCall(CallBase &CB, Function *Callee, 51 CallBase &promoteCallWithIfThenElse(CallBase &CB, Function *Callee, 75 bool tryPromoteCall(CallBase &CB); 84 CallBase &versionCallSite(CallBase &CB, Value *Callee, MDNode *BranchWeights);
|
| /llvm-project-15.0.7/llvm/lib/Transforms/CFGuard/ |
| H A D | CFGuard.cpp | 101 void insertCFGuardCheck(CallBase *CB); 142 void insertCFGuardDispatch(CallBase *CB); 158 void CFGuard::insertCFGuardCheck(CallBase *CB) { in insertCFGuardCheck() 188 void CFGuard::insertCFGuardDispatch(CallBase *CB) { in insertCFGuardDispatch() 215 CallBase *NewCB = CallBase::Create(CB, Bundles, CB); in insertCFGuardDispatch() 262 SmallVector<CallBase *, 8> IndirectCalls; in runOnFunction() 270 auto *CB = dyn_cast<CallBase>(&I); in runOnFunction() 285 for (CallBase *CB : IndirectCalls) { in runOnFunction() 289 for (CallBase *CB : IndirectCalls) { in runOnFunction()
|
| /llvm-project-15.0.7/llvm/tools/llvm-reduce/deltas/ |
| H A D | ReduceOperandBundles.cpp | 43 DenseMap<CallBase *, std::vector<unsigned>> CallsToRefine; 49 void visitCallBase(CallBase &Call) { in visitCallBase() 69 void visitCallBase(CallBase &Call) { in visitCallBase() 78 CallBase *OrigCall, ArrayRef<unsigned> OperandBundlesToKeepIndexes) { in maybeRewriteCallWithDifferentBundles() 92 CallBase *NewCall = CallBase::Create(OrigCall, NewBundles, OrigCall); in maybeRewriteCallWithDifferentBundles()
|
| H A D | ReduceOperandsToArgs.cpp | 24 if (auto *CI = dyn_cast<CallBase>(Op.getUser())) in canReplaceFunction() 51 if (auto *CI = dyn_cast<CallBase>(Op.getUser())) in canReduceUse() 60 SmallVector<CallBase *> Callers; in replaceFunctionCalls() 62 auto *CI = cast<CallBase>(U.getUser()); in replaceFunctionCalls() 77 for (CallBase *CI : Callers) { in replaceFunctionCalls() 87 CallBase *NewCI; in replaceFunctionCalls()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Utils/ |
| H A D | CallPromotionUtils.cpp | 162 static void createRetBitCast(CallBase &CB, Type *RetTy, CastInst **RetBitCast) { in createRetBitCast() 282 CallBase &llvm::versionCallSite(CallBase &CB, Value *Callee, in versionCallSite() 286 CallBase *OrigInst = &CB; in versionCallSite() 302 CallBase *NewInst = cast<CallBase>(OrigInst->clone()); in versionCallSite() 347 CallBase *NewInst = cast<CallBase>(OrigInst->clone()); in versionCallSite() 382 bool llvm::isLegalToPromote(const CallBase &CB, Function *Callee, in isLegalToPromote() 456 CallBase &llvm::promoteCall(CallBase &CB, Function *Callee, in promoteCall() 537 CallBase &llvm::promoteCallWithIfThenElse(CallBase &CB, Function *Callee, in promoteCallWithIfThenElse() 543 CallBase &NewInst = versionCallSite(CB, Callee, BranchWeights); in promoteCallWithIfThenElse() 549 bool llvm::tryPromoteCall(CallBase &CB) { in tryPromoteCall()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Scalar/ |
| H A D | CallSiteSplitting.cpp | 88 static void addNonNullAttribute(CallBase &CB, Value *Op) { in addNonNullAttribute() 97 static void setConstantInArgument(CallBase &CB, Value *Op, in setConstantInArgument() 111 static bool isCondRelevantToAnyCallArgument(ICmpInst *Cmp, CallBase &CB) { in isCondRelevantToAnyCallArgument() 154 static void recordConditions(CallBase &CB, BasicBlock *Pred, in recordConditions() 167 static void addConditions(CallBase &CB, const ConditionsTy &Conditions) { in addConditions() 186 static bool canSplitCallSite(CallBase &CB, TargetTransformInfo &TTI) { in canSplitCallSite() 304 static void splitCallSite(CallBase &CB, in splitCallSite() 416 static bool isPredicatedOnPHI(CallBase &CB) { in isPredicatedOnPHI() 454 static PredsWithCondsTy shouldSplitOnPredicatedArgument(CallBase &CB, in shouldSplitOnPredicatedArgument() 486 static bool tryToSplitCallSite(CallBase &CB, TargetTransformInfo &TTI, in tryToSplitCallSite() [all …]
|
| /llvm-project-15.0.7/llvm/include/llvm/IR/ |
| H A D | Assumptions.h | 25 class CallBase; variable 57 bool hasAssumption(const CallBase &CB, 64 DenseSet<StringRef> getAssumptions(const CallBase &CB); 70 bool addAssumptions(CallBase &CB, const DenseSet<StringRef> &Assumptions);
|
| H A D | AbstractCallSite.h | 76 CallBase *CB; 105 static void getCallbackUses(const CallBase &CB, 112 CallBase *getInstruction() const { return CB; } in getInstruction() 226 void forEachCallbackCallSite(const CallBase &CB, UnaryFunction Func) { in forEachCallbackCallSite() 238 void forEachCallbackFunction(const CallBase &CB, UnaryFunction Func) { in forEachCallbackFunction()
|
| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | InlineAdvisor.cpp | 70 MandatoryInlineAdvice(InlineAdvisor *Advisor, CallBase &CB, in MandatoryInlineAdvice() 150 auto GetInlineCost = [&](CallBase &CB) { in getDefaultInlineAdvice() 165 DefaultInlineAdvisor::getAdviceImpl(CallBase &CB) { in getAdviceImpl() 172 InlineAdvice::InlineAdvice(InlineAdvisor *Advisor, CallBase &CB, in InlineAdvice() 242 function_ref<InlineCost(CallBase &CB)> GetInlineCost) { in shouldBeDeferred() 277 CallBase *CS2 = dyn_cast<CallBase>(U); in shouldBeDeferred() 355 void llvm::setInlineRemark(CallBase &CB, StringRef Message) { in setInlineRemark() 368 llvm::shouldInline(CallBase &CB, in shouldInline() 369 function_ref<InlineCost(CallBase &CB)> GetInlineCost, in shouldInline() 606 std::unique_ptr<InlineAdvice> InlineAdvisor::getAdvice(CallBase &CB, in getAdvice() [all …]
|
| /llvm-project-15.0.7/llvm/unittests/Analysis/ |
| H A D | MemoryProfileInfoTest.cpp | 39 CallBase *findCall(Function &F, const char *Name = nullptr) { in findCall() 42 if (auto *CB = dyn_cast<CallBase>(&I)) in findCall() 118 CallBase *Call1 = findCall(*Func, "call1"); in TEST_F() 129 CallBase *Call2 = findCall(*Func, "call2"); in TEST_F() 162 CallBase *Call = findCall(*Func, "call"); in TEST_F() 218 CallBase *Call = findCall(*Func, "call"); in TEST_F() 272 CallBase *Call1 = findCall(*Func, "call1"); in TEST_F() 284 CallBase *Call2 = findCall(*Func, "call2"); in TEST_F() 327 CallBase *Call = findCall(*Func, "call"); in TEST_F()
|
| H A D | FunctionPropertiesAnalysisTest.cpp | 141 CallBase* CB = findCall(*F1, "b"); in TEST_F() 194 CallBase* CB = findCall(*F1, "b"); in TEST_F() 256 CallBase* CB = findCall(*F1, "b"); in TEST_F() 318 CallBase* CB = findCall(*F1); in TEST_F() 372 CallBase* CB = findCall(*F1); in TEST_F() 427 CallBase* CB = findCall(*F1); in TEST_F() 480 CallBase* CB = findCall(*F1); in TEST_F() 537 CallBase* CB = findCall(*F1); in TEST_F() 592 CallBase *CB = findCall(*F1); in TEST_F() 662 CallBase *CB = findCall(*F1); in TEST_F() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Transforms/IPO/ |
| H A D | SampleProfile.cpp | 380 CallBase *CallInstr; 473 bool shouldInlineColdCallee(CallBase &CallInst); 1002 CallBase *CB, const FunctionSamples *Samples, in findExternalInlineCandidate() 1114 SmallVector<CallBase *, 10> CIS; in inlineHotFunctions() 1117 SmallVector<CallBase *, 10> AllCandidates; in inlineHotFunctions() 1121 if (auto *CB = dyn_cast<CallBase>(&I)) { in inlineHotFunctions() 1148 for (CallBase *I : CIS) { in inlineHotFunctions() 1203 CallBase &CB = *Candidate.CallInstr; in tryInlineCandidate() 1391 auto *CB = dyn_cast<CallBase>(&I); in inlineHotFunctionsWithPriority() 1419 CallBase *I = Candidate.CallInstr; in inlineHotFunctionsWithPriority() [all …]
|
| H A D | AlwaysInliner.cpp | 41 SmallSetVector<CallBase *, 16> Calls; in run() 56 if (auto *CB = dyn_cast<CallBase>(U)) in run() 62 for (CallBase *CB : Calls) { in run() 158 InlineCost getInlineCost(CallBase &CB) override; 193 InlineCost AlwaysInlinerLegacyPass::getInlineCost(CallBase &CB) { in getInlineCost()
|
| H A D | ModuleInliner.cpp | 148 std::unique_ptr<InlineOrder<std::pair<CallBase *, int>>> Calls; in run() 153 Calls = std::make_unique<DefaultInlineOrder<std::pair<CallBase *, int>>>(); in run() 165 if (auto *CB = dyn_cast<CallBase>(&I)) in run() 222 CallBase *CB = P.first; in run() 265 for (CallBase *ICB : reverse(IFI.InlinedCallSites)) { in run() 295 Calls->erase_if([&](const std::pair<CallBase *, int> &Call) { in run() argument
|
| /llvm-project-15.0.7/llvm/lib/Transforms/ObjCARC/ |
| H A D | ObjCARCAPElim.cpp | 47 bool MayAutorelease(const CallBase &CB, unsigned Depth = 0) { in MayAutorelease() 53 if (const CallBase *JCB = dyn_cast<CallBase>(&I)) in MayAutorelease() 92 if (MayAutorelease(cast<CallBase>(Inst))) in OptimizeBB()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Instrumentation/ |
| H A D | IndirectCallPromotion.cpp | 136 const CallBase &CB, const ArrayRef<InstrProfValueData> &ValueDataRef, 141 uint32_t tryToPromote(CallBase &CB, 161 const CallBase &CB, const ArrayRef<InstrProfValueData> &ValueDataRef, in getPromotionCandidatesForCallSite() 244 CallBase &llvm::pgo::promoteIndirectCall(CallBase &CB, Function *DirectCallee, in promoteIndirectCall() 256 CallBase &NewInst = in promoteIndirectCall() 280 CallBase &CB, const std::vector<PromotionCandidate> &Candidates, in tryToPromote()
|