Skip to content

Commit 9e3343f

Browse files
committed
[MC,COFF] Don't evaluate end() every iteration
In accordance with https://llvm.org/docs/CodingStandards.html we shouldn't do this.
1 parent 915372a commit 9e3343f

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

llvm/lib/MC/XCOFFObjectWriter.cpp

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1385,23 +1385,23 @@ void XCOFFObjectWriter::addExceptionEntry(
13851385
unsigned XCOFFObjectWriter::getExceptionSectionSize() {
13861386
unsigned EntryNum = 0;
13871387

1388-
for (auto it = ExceptionSection.ExceptionTable.begin();
1389-
it != ExceptionSection.ExceptionTable.end(); ++it)
1390-
// The size() gets +1 to account for the initial entry containing the
1391-
// symbol table index.
1392-
EntryNum += it->second.Entries.size() + 1;
1388+
auto CountEntries =
1389+
[&](std::pair<const StringRef, ExceptionInfo> &ExceptionTableEntry) {
1390+
EntryNum += ExceptionTableEntry.second.Entries.size() + 1;
1391+
};
1392+
1393+
for_each(ExceptionSection.ExceptionTable, CountEntries);
13931394

13941395
return EntryNum * (is64Bit() ? XCOFF::ExceptionSectionEntrySize64
13951396
: XCOFF::ExceptionSectionEntrySize32);
13961397
}
13971398

13981399
unsigned XCOFFObjectWriter::getExceptionOffset(const MCSymbol *Symbol) {
13991400
unsigned EntryNum = 0;
1400-
for (auto it = ExceptionSection.ExceptionTable.begin();
1401-
it != ExceptionSection.ExceptionTable.end(); ++it) {
1402-
if (Symbol == it->second.FunctionSymbol)
1401+
for (const auto &TableEntry : ExceptionSection.ExceptionTable) {
1402+
if (Symbol == TableEntry.second.FunctionSymbol)
14031403
break;
1404-
EntryNum += it->second.Entries.size() + 1;
1404+
EntryNum += TableEntry.second.Entries.size() + 1;
14051405
}
14061406
return EntryNum * (is64Bit() ? XCOFF::ExceptionSectionEntrySize64
14071407
: XCOFF::ExceptionSectionEntrySize32);
@@ -1667,17 +1667,16 @@ void XCOFFObjectWriter::writeSectionForDwarfSectionEntry(
16671667
void XCOFFObjectWriter::writeSectionForExceptionSectionEntry(
16681668
const MCAssembler &Asm, ExceptionSectionEntry &ExceptionEntry,
16691669
uint64_t &CurrentAddressLocation) {
1670-
for (auto it = ExceptionEntry.ExceptionTable.begin();
1671-
it != ExceptionEntry.ExceptionTable.end(); it++) {
1670+
for (const auto &TableEntry : ExceptionEntry.ExceptionTable) {
16721671
// For every symbol that has exception entries, you must start the entries
16731672
// with an initial symbol table index entry
1674-
W.write<uint32_t>(SymbolIndexMap[it->second.FunctionSymbol]);
1673+
W.write<uint32_t>(SymbolIndexMap[TableEntry.second.FunctionSymbol]);
16751674
if (is64Bit()) {
16761675
// 4-byte padding on 64-bit.
16771676
W.OS.write_zeros(4);
16781677
}
16791678
W.OS.write_zeros(2);
1680-
for (auto &TrapEntry : it->second.Entries) {
1679+
for (auto &TrapEntry : TableEntry.second.Entries) {
16811680
writeWord(TrapEntry.TrapAddress);
16821681
W.write<uint8_t>(TrapEntry.Lang);
16831682
W.write<uint8_t>(TrapEntry.Reason);

0 commit comments

Comments
 (0)