Skip to content

Commit e6c5a7f

Browse files
author
z1.cciauto
committed
merge main into amd-staging
2 parents 0d5155a + ffb9bbf commit e6c5a7f

File tree

53 files changed

+1028
-1001
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+1028
-1001
lines changed

bolt/include/bolt/Profile/DataReader.h

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,8 @@ struct FuncBranchData {
114114

115115
FuncBranchData() {}
116116

117-
FuncBranchData(StringRef Name, ContainerTy Data)
118-
: Name(Name), Data(std::move(Data)) {}
119-
120-
FuncBranchData(StringRef Name, ContainerTy Data, ContainerTy EntryData)
117+
FuncBranchData(StringRef Name, ContainerTy Data = ContainerTy(),
118+
ContainerTy EntryData = ContainerTy())
121119
: Name(Name), Data(std::move(Data)), EntryData(std::move(EntryData)) {}
122120

123121
ErrorOr<const BranchInfo &> getBranch(uint64_t From, uint64_t To) const;
@@ -205,7 +203,7 @@ struct FuncMemData {
205203

206204
FuncMemData() {}
207205

208-
FuncMemData(StringRef Name, ContainerTy Data)
206+
FuncMemData(StringRef Name, ContainerTy Data = ContainerTy())
209207
: Name(Name), Data(std::move(Data)) {}
210208
};
211209

@@ -241,7 +239,7 @@ struct FuncBasicSampleData {
241239
StringRef Name;
242240
ContainerTy Data;
243241

244-
FuncBasicSampleData(StringRef Name, ContainerTy Data)
242+
FuncBasicSampleData(StringRef Name, ContainerTy Data = ContainerTy())
245243
: Name(Name), Data(std::move(Data)) {}
246244

247245
/// Get the number of samples recorded in [Start, End)

bolt/lib/Passes/ShrinkWrapping.cpp

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -825,14 +825,13 @@ void ShrinkWrapping::computeSaveLocations() {
825825
if (!CSA.CalleeSaved[I])
826826
continue;
827827

828-
std::stable_sort(BestSavePos[I].begin(), BestSavePos[I].end(),
829-
[&](const MCInst *A, const MCInst *B) {
830-
const BinaryBasicBlock *BBA = InsnToBB[A];
831-
const BinaryBasicBlock *BBB = InsnToBB[B];
832-
const uint64_t CountA = BBA->getKnownExecutionCount();
833-
const uint64_t CountB = BBB->getKnownExecutionCount();
834-
return CountB < CountA;
835-
});
828+
llvm::stable_sort(BestSavePos[I], [&](const MCInst *A, const MCInst *B) {
829+
const BinaryBasicBlock *BBA = InsnToBB[A];
830+
const BinaryBasicBlock *BBB = InsnToBB[B];
831+
const uint64_t CountA = BBA->getKnownExecutionCount();
832+
const uint64_t CountB = BBB->getKnownExecutionCount();
833+
return CountB < CountA;
834+
});
836835

837836
for (MCInst *Pos : BestSavePos[I]) {
838837
const BinaryBasicBlock *BB = InsnToBB[Pos];

bolt/lib/Profile/DataReader.cpp

Lines changed: 4 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1088,26 +1088,11 @@ bool DataReader::hasMemData() {
10881088

10891089
std::error_code DataReader::parseInNoLBRMode() {
10901090
auto GetOrCreateFuncEntry = [&](StringRef Name) {
1091-
auto I = NamesToBasicSamples.find(Name);
1092-
if (I == NamesToBasicSamples.end()) {
1093-
bool Success;
1094-
std::tie(I, Success) = NamesToBasicSamples.insert(std::make_pair(
1095-
Name, FuncBasicSampleData(Name, FuncBasicSampleData::ContainerTy())));
1096-
1097-
assert(Success && "unexpected result of insert");
1098-
}
1099-
return I;
1091+
return NamesToBasicSamples.try_emplace(Name, Name).first;
11001092
};
11011093

11021094
auto GetOrCreateFuncMemEntry = [&](StringRef Name) {
1103-
auto I = NamesToMemEvents.find(Name);
1104-
if (I == NamesToMemEvents.end()) {
1105-
bool Success;
1106-
std::tie(I, Success) = NamesToMemEvents.insert(
1107-
std::make_pair(Name, FuncMemData(Name, FuncMemData::ContainerTy())));
1108-
assert(Success && "unexpected result of insert");
1109-
}
1110-
return I;
1095+
return NamesToMemEvents.try_emplace(Name, Name).first;
11111096
};
11121097

11131098
while (hasBranchData()) {
@@ -1151,26 +1136,11 @@ std::error_code DataReader::parseInNoLBRMode() {
11511136

11521137
std::error_code DataReader::parse() {
11531138
auto GetOrCreateFuncEntry = [&](StringRef Name) {
1154-
auto I = NamesToBranches.find(Name);
1155-
if (I == NamesToBranches.end()) {
1156-
bool Success;
1157-
std::tie(I, Success) = NamesToBranches.insert(std::make_pair(
1158-
Name, FuncBranchData(Name, FuncBranchData::ContainerTy(),
1159-
FuncBranchData::ContainerTy())));
1160-
assert(Success && "unexpected result of insert");
1161-
}
1162-
return I;
1139+
return NamesToBranches.try_emplace(Name, Name).first;
11631140
};
11641141

11651142
auto GetOrCreateFuncMemEntry = [&](StringRef Name) {
1166-
auto I = NamesToMemEvents.find(Name);
1167-
if (I == NamesToMemEvents.end()) {
1168-
bool Success;
1169-
std::tie(I, Success) = NamesToMemEvents.insert(
1170-
std::make_pair(Name, FuncMemData(Name, FuncMemData::ContainerTy())));
1171-
assert(Success && "unexpected result of insert");
1172-
}
1173-
return I;
1143+
return NamesToMemEvents.try_emplace(Name, Name).first;
11741144
};
11751145

11761146
Col = 0;

0 commit comments

Comments
 (0)