[ProfileData] Thread unique_ptr through the summary builder to avoid leaks.
llvm-svn: 270195
diff --git a/llvm/lib/ProfileData/ProfileSummaryBuilder.cpp b/llvm/lib/ProfileData/ProfileSummaryBuilder.cpp
index ee40d68..1e71bb9 100644
--- a/llvm/lib/ProfileData/ProfileSummaryBuilder.cpp
+++ b/llvm/lib/ProfileData/ProfileSummaryBuilder.cpp
@@ -86,18 +86,18 @@
}
}
-ProfileSummary *SampleProfileSummaryBuilder::getSummary() {
+std::unique_ptr<ProfileSummary> SampleProfileSummaryBuilder::getSummary() {
computeDetailedSummary();
- return new ProfileSummary(ProfileSummary::PSK_Sample, DetailedSummary,
- TotalCount, MaxCount, 0, MaxFunctionCount,
- NumCounts, NumFunctions);
+ return llvm::make_unique<ProfileSummary>(
+ ProfileSummary::PSK_Sample, DetailedSummary, TotalCount, MaxCount, 0,
+ MaxFunctionCount, NumCounts, NumFunctions);
}
-ProfileSummary *InstrProfSummaryBuilder::getSummary() {
+std::unique_ptr<ProfileSummary> InstrProfSummaryBuilder::getSummary() {
computeDetailedSummary();
- return new ProfileSummary(ProfileSummary::PSK_Instr, DetailedSummary,
- TotalCount, MaxCount, MaxInternalBlockCount,
- MaxFunctionCount, NumCounts, NumFunctions);
+ return llvm::make_unique<ProfileSummary>(
+ ProfileSummary::PSK_Instr, DetailedSummary, TotalCount, MaxCount,
+ MaxInternalBlockCount, MaxFunctionCount, NumCounts, NumFunctions);
}
void InstrProfSummaryBuilder::addEntryCount(uint64_t Count) {