diff --git a/llvm/lib/Transforms/IPO/SampleProfile.cpp b/llvm/lib/Transforms/IPO/SampleProfile.cpp --- a/llvm/lib/Transforms/IPO/SampleProfile.cpp +++ b/llvm/lib/Transforms/IPO/SampleProfile.cpp @@ -719,8 +719,7 @@ // it means that the inlined callsite has no sample, thus the call // instruction should have 0 count. if ((isa(Inst) || isa(Inst)) && - !ImmutableCallSite(&Inst).isIndirectCall() && - findCalleeFunctionSamples(Inst)) + !cast(Inst).isIndirectCall() && findCalleeFunctionSamples(Inst)) return 0; const DILocation *DIL = DLoc; @@ -933,7 +932,7 @@ if (!ProfileSizeInline) return false; - Function *Callee = CallSite(&CallInst).getCalledFunction(); + Function *Callee = cast(CallInst).getCalledFunction(); if (Callee == nullptr) return false; @@ -948,7 +947,7 @@ const SmallVector &Candidates, const Function &F, bool Hot) { for (auto I : Candidates) { - Function *CalledFunction = CallSite(I).getCalledFunction(); + Function *CalledFunction = cast(I)->getCalledFunction(); if (CalledFunction) { ORE->emit(OptimizationRemarkAnalysis(CSINLINE_DEBUG, "InlineAttempt", I->getDebugLoc(), I->getParent()) @@ -1019,11 +1018,11 @@ } } for (auto I : CIS) { - Function *CalledFunction = CallSite(I).getCalledFunction(); + Function *CalledFunction = cast(I)->getCalledFunction(); // Do not inline recursive calls. if (CalledFunction == &F) continue; - if (CallSite(I).isIndirectCall()) { + if (cast(I)->isIndirectCall()) { if (PromotedInsns.count(I)) continue; uint64_t Sum; @@ -1091,7 +1090,7 @@ // Accumulate not inlined callsite information into notInlinedSamples for (const auto &Pair : localNotInlinedCallSites) { Instruction *I = Pair.getFirst(); - Function *Callee = CallSite(I).getCalledFunction(); + Function *Callee = cast(I)->getCalledFunction(); if (!Callee || Callee->isDeclaration()) continue; @@ -1537,8 +1536,7 @@ for (auto &I : BB->getInstList()) { if (!isa(I) && !isa(I)) continue; - CallSite CS(&I); - if (!CS.getCalledFunction()) { + if (!cast(I).getCalledFunction()) { const DebugLoc &DLoc = I.getDebugLoc(); if (!DLoc) continue;