@@ -214,15 +214,13 @@ template <> struct CustomMappingTraits<GlobalValueSummaryMapTy> {
214
214
io.setError (" key not an integer" );
215
215
return ;
216
216
}
217
- if (!V.count (KeyInt))
218
- V.emplace (KeyInt, /* IsAnalysis=*/ false );
219
- auto &Elem = V.find (KeyInt)->second ;
217
+ auto &Elem = V.try_emplace (KeyInt, /* IsAnalysis=*/ false ).first ->second ;
220
218
for (auto &FSum : FSums) {
221
219
std::vector<ValueInfo> Refs;
220
+ Refs.reserve (FSum.Refs .size ());
222
221
for (auto &RefGUID : FSum.Refs ) {
223
- if (!V.count (RefGUID))
224
- V.emplace (RefGUID, /* IsAnalysis=*/ false );
225
- Refs.push_back (ValueInfo (/* IsAnalysis=*/ false , &*V.find (RefGUID)));
222
+ auto It = V.try_emplace (RefGUID, /* IsAnalysis=*/ false ).first ;
223
+ Refs.push_back (ValueInfo (/* IsAnalysis=*/ false , &*It));
226
224
}
227
225
Elem.SummaryList .push_back (std::make_unique<FunctionSummary>(
228
226
GlobalValueSummary::GVFlags (
@@ -247,6 +245,7 @@ template <> struct CustomMappingTraits<GlobalValueSummaryMapTy> {
247
245
for (auto &Sum : P.second .SummaryList ) {
248
246
if (auto *FSum = dyn_cast<FunctionSummary>(Sum.get ())) {
249
247
std::vector<uint64_t > Refs;
248
+ Refs.reserve (FSum->refs ().size ());
250
249
for (auto &VI : FSum->refs ())
251
250
Refs.push_back (VI.getGUID ());
252
251
FSums.push_back (FunctionSummaryYaml{
0 commit comments