summaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Instrumentation/CGProfile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Transforms/Instrumentation/CGProfile.cpp')
-rw-r--r--llvm/lib/Transforms/Instrumentation/CGProfile.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/lib/Transforms/Instrumentation/CGProfile.cpp b/llvm/lib/Transforms/Instrumentation/CGProfile.cpp
index c322d0abd6bc..651239bee91f 100644
--- a/llvm/lib/Transforms/Instrumentation/CGProfile.cpp
+++ b/llvm/lib/Transforms/Instrumentation/CGProfile.cpp
@@ -78,14 +78,14 @@ static bool runCGProfilePass(Module &M, FunctionAnalysisManager &FAM,
if (!CB)
continue;
if (CB->isIndirectCall()) {
- InstrProfValueData ValueData[8];
uint32_t ActualNumValueData;
uint64_t TotalC;
- if (!getValueProfDataFromInst(*CB, IPVK_IndirectCallTarget, 8,
- ValueData, ActualNumValueData, TotalC))
+ auto ValueData = getValueProfDataFromInst(
+ *CB, IPVK_IndirectCallTarget, 8, ActualNumValueData, TotalC);
+ if (!ValueData)
continue;
- for (const auto &VD :
- ArrayRef<InstrProfValueData>(ValueData, ActualNumValueData)) {
+ for (const auto &VD : ArrayRef<InstrProfValueData>(
+ ValueData.get(), ActualNumValueData)) {
UpdateCounts(TTI, &F, Symtab.getFunction(VD.Value), VD.Count);
}
continue;