summaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
diff options
context:
space:
mode:
authorArthur Eubanks <aeubanks@google.com>2024-06-27 16:32:27 -0700
committershawbyoung <shawbyoung@gmail.com>2024-06-27 16:32:27 -0700
commitf5c7df12cacdb84552b36a7ac598a8db41acc680 (patch)
tree3b33e941b9bfb88c40c64fd18ee32a633423cbed /llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
parent608880c3a7a59c86db82728067e553a8d4665a45 (diff)
parent804415825b97e974c96a92580bcbeaf4c7ff0a04 (diff)
[𝘀𝗽𝗿] changes introduced through rebaseusers/shawbyoung/spr/main.boltnfc-refactoring-callgraph
Created using spr 1.3.4 [skip ci]
Diffstat (limited to 'llvm/lib/Analysis/ModuleSummaryAnalysis.cpp')
-rw-r--r--llvm/lib/Analysis/ModuleSummaryAnalysis.cpp25
1 files changed, 10 insertions, 15 deletions
diff --git a/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp b/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
index c863936a5188..94ac0484f5ec 100644
--- a/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
+++ b/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
@@ -143,20 +143,15 @@ static bool findRefEdges(ModuleSummaryIndex &Index, const User *CurUser,
const Instruction *I = dyn_cast<Instruction>(CurUser);
if (I) {
- uint32_t ActualNumValueData = 0;
uint64_t TotalCount = 0;
// MaxNumVTableAnnotations is the maximum number of vtables annotated on
// the instruction.
- auto ValueDataArray =
- getValueProfDataFromInst(*I, IPVK_VTableTarget, MaxNumVTableAnnotations,
- ActualNumValueData, TotalCount);
-
- if (ValueDataArray.get()) {
- for (uint32_t j = 0; j < ActualNumValueData; j++) {
- RefEdges.insert(Index.getOrInsertValueInfo(/* VTableGUID = */
- ValueDataArray[j].Value));
- }
- }
+ auto ValueDataArray = getValueProfDataFromInst(
+ *I, IPVK_VTableTarget, MaxNumVTableAnnotations, TotalCount);
+
+ for (const auto &V : ValueDataArray)
+ RefEdges.insert(Index.getOrInsertValueInfo(/* VTableGUID = */
+ V.Value));
}
return HasBlockAddress;
}
@@ -483,11 +478,11 @@ static void computeFunctionSummary(
}
}
- uint32_t NumVals, NumCandidates;
+ uint32_t NumCandidates;
uint64_t TotalCount;
auto CandidateProfileData =
- ICallAnalysis.getPromotionCandidatesForInstruction(
- &I, NumVals, TotalCount, NumCandidates);
+ ICallAnalysis.getPromotionCandidatesForInstruction(&I, TotalCount,
+ NumCandidates);
for (const auto &Candidate : CandidateProfileData)
CallGraphEdges[Index.getOrInsertValueInfo(Candidate.Value)]
.updateHotness(getHotness(Candidate.Count, PSI));
@@ -1075,7 +1070,7 @@ ModuleSummaryIndex llvm::buildModuleSummaryIndex(
if (!ModuleSummaryDotFile.empty()) {
std::error_code EC;
- raw_fd_ostream OSDot(ModuleSummaryDotFile, EC, sys::fs::OpenFlags::OF_None);
+ raw_fd_ostream OSDot(ModuleSummaryDotFile, EC, sys::fs::OpenFlags::OF_Text);
if (EC)
report_fatal_error(Twine("Failed to open dot file ") +
ModuleSummaryDotFile + ": " + EC.message() + "\n");