[llvm] 40dc8e6 - [NFC] Use const references to avoid copying objects in for-loops
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 27 13:39:35 PDT 2023
Author: Gregory Alfonso
Date: 2023-09-27T13:39:30-07:00
New Revision: 40dc8e6889c055172dfa66823b3e0aa073240086
URL: https://github.com/llvm/llvm-project/commit/40dc8e6889c055172dfa66823b3e0aa073240086
DIFF: https://github.com/llvm/llvm-project/commit/40dc8e6889c055172dfa66823b3e0aa073240086.diff
LOG: [NFC] Use const references to avoid copying objects in for-loops
Differential Revision: https://reviews.llvm.org/D139487
Added:
Modified:
llvm/lib/ObjCopy/ELF/ELFObject.cpp
llvm/lib/Object/COFFImportFile.cpp
llvm/lib/ObjectYAML/MachOEmitter.cpp
llvm/lib/Support/VirtualFileSystem.cpp
llvm/lib/TextAPI/TextStub.cpp
llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
llvm/tools/llvm-readtapi/DiffEngine.cpp
llvm/tools/llvm-xray/xray-converter.cpp
llvm/tools/llvm-xray/xray-fdr-dump.cpp
llvm/unittests/ADT/IteratorTest.cpp
llvm/unittests/FileCheck/FileCheckTest.cpp
llvm/utils/TableGen/IntrinsicEmitter.cpp
Removed:
################################################################################
diff --git a/llvm/lib/ObjCopy/ELF/ELFObject.cpp b/llvm/lib/ObjCopy/ELF/ELFObject.cpp
index 697afab2a617b47..eaeef11b127e487 100644
--- a/llvm/lib/ObjCopy/ELF/ELFObject.cpp
+++ b/llvm/lib/ObjCopy/ELF/ELFObject.cpp
@@ -2089,7 +2089,7 @@ template <class ELFT> void ELFWriter<ELFT>::writeSegmentData() {
Size);
}
- for (auto it : Obj.getUpdatedSections()) {
+ for (const auto &it : Obj.getUpdatedSections()) {
SectionBase *Sec = it.first;
ArrayRef<uint8_t> Data = it.second;
diff --git a/llvm/lib/Object/COFFImportFile.cpp b/llvm/lib/Object/COFFImportFile.cpp
index 0e99fc9373e0db7..a567ecde9b7afc5 100644
--- a/llvm/lib/Object/COFFImportFile.cpp
+++ b/llvm/lib/Object/COFFImportFile.cpp
@@ -578,7 +578,7 @@ Error writeImportLibrary(StringRef ImportName, StringRef Path,
std::vector<uint8_t> NullThunk;
Members.push_back(OF.createNullThunk(NullThunk));
- for (COFFShortExport E : Exports) {
+ for (const COFFShortExport &E : Exports) {
if (E.Private)
continue;
diff --git a/llvm/lib/ObjectYAML/MachOEmitter.cpp b/llvm/lib/ObjectYAML/MachOEmitter.cpp
index 0de9112a4ac4af2..6bcc2cee27edb6c 100644
--- a/llvm/lib/ObjectYAML/MachOEmitter.cpp
+++ b/llvm/lib/ObjectYAML/MachOEmitter.cpp
@@ -426,7 +426,7 @@ void MachOWriter::writeRelocations(raw_ostream &OS) {
void MachOWriter::writeBindOpcodes(
raw_ostream &OS, std::vector<MachOYAML::BindOpcode> &BindOpcodes) {
- for (auto &Opcode : BindOpcodes) {
+ for (const auto &Opcode : BindOpcodes) {
uint8_t OpByte = Opcode.Opcode | Opcode.Imm;
OS.write(reinterpret_cast<char *>(&OpByte), 1);
for (auto Data : Opcode.ULEBExtraData) {
@@ -458,7 +458,7 @@ void MachOWriter::dumpExportEntry(raw_ostream &OS,
}
}
OS.write(static_cast<uint8_t>(Entry.Children.size()));
- for (auto EE : Entry.Children) {
+ for (const auto &EE : Entry.Children) {
OS << EE.Name;
OS.write('\0');
encodeULEB128(EE.NodeOffset, OS);
@@ -559,7 +559,7 @@ void MachOWriter::writeLinkEditData(raw_ostream &OS) {
void MachOWriter::writeRebaseOpcodes(raw_ostream &OS) {
MachOYAML::LinkEditData &LinkEdit = Obj.LinkEdit;
- for (auto Opcode : LinkEdit.RebaseOpcodes) {
+ for (const auto &Opcode : LinkEdit.RebaseOpcodes) {
uint8_t OpByte = Opcode.Opcode | Opcode.Imm;
OS.write(reinterpret_cast<char *>(&OpByte), 1);
for (auto Data : Opcode.ExtraData)
diff --git a/llvm/lib/Support/VirtualFileSystem.cpp b/llvm/lib/Support/VirtualFileSystem.cpp
index e36151038b2d33e..1f8563ab82f4d02 100644
--- a/llvm/lib/Support/VirtualFileSystem.cpp
+++ b/llvm/lib/Support/VirtualFileSystem.cpp
@@ -489,7 +489,7 @@ void OverlayFileSystem::printImpl(raw_ostream &OS, PrintType Type,
if (Type == PrintType::Contents)
Type = PrintType::Summary;
- for (auto FS : overlays_range())
+ for (const auto &FS : overlays_range())
FS->print(OS, Type, IndentLevel + 1);
}
@@ -552,7 +552,7 @@ class CombiningDirIterImpl : public llvm::vfs::detail::DirIterImpl {
public:
CombiningDirIterImpl(ArrayRef<FileSystemPtr> FileSystems, std::string Dir,
std::error_code &EC) {
- for (auto FS : FileSystems) {
+ for (const auto &FS : FileSystems) {
std::error_code FEC;
directory_iterator Iter = FS->dir_begin(Dir, FEC);
if (FEC && FEC != errc::no_such_file_or_directory) {
diff --git a/llvm/lib/TextAPI/TextStub.cpp b/llvm/lib/TextAPI/TextStub.cpp
index 82267af07929f7d..3b94f084b538c54 100644
--- a/llvm/lib/TextAPI/TextStub.cpp
+++ b/llvm/lib/TextAPI/TextStub.cpp
@@ -1174,7 +1174,7 @@ Error TextAPIWriter::writeToStream(raw_ostream &OS, const InterfaceFile &File,
std::vector<const InterfaceFile *> Files;
Files.emplace_back(&File);
- for (auto Document : File.documents())
+ for (const auto &Document : File.documents())
Files.emplace_back(Document.get());
// Stream out yaml.
diff --git a/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp b/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
index 61cad15e8b92557..10839383cb139c9 100644
--- a/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
+++ b/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
@@ -842,7 +842,7 @@ static void yamlToPdb(StringRef Path) {
ExitOnErr(DbiBuilder.addModuleSourceFile(ModiBuilder, S));
if (MI.Modi) {
const auto &ModiStream = *MI.Modi;
- for (auto Symbol : ModiStream.Symbols) {
+ for (const auto &Symbol : ModiStream.Symbols) {
ModiBuilder.addSymbol(
Symbol.toCodeViewSymbol(Allocator, CodeViewContainer::Pdb));
}
diff --git a/llvm/tools/llvm-readtapi/DiffEngine.cpp b/llvm/tools/llvm-readtapi/DiffEngine.cpp
index 11d0eba563c32f4..0dd0d91616b135e 100644
--- a/llvm/tools/llvm-readtapi/DiffEngine.cpp
+++ b/llvm/tools/llvm-readtapi/DiffEngine.cpp
@@ -224,7 +224,7 @@ std::vector<DiffOutput> getSingleIF(InterfaceFile *Interface,
Order);
diff Attribute("Parent Umbrellas", Output, Interface->umbrellas(), Order);
diff Attribute("Symbols", Output, Interface->symbols(), Order);
- for (auto Doc : Interface->documents()) {
+ for (const auto &Doc : Interface->documents()) {
DiffOutput Documents("Inlined Reexported Frameworks/Libraries");
Documents.Kind = AD_Inline_Doc;
Documents.Values.push_back(std::make_unique<InlineDoc>(
diff --git a/llvm/tools/llvm-xray/xray-converter.cpp b/llvm/tools/llvm-xray/xray-converter.cpp
index 82d0261ec4da0f7..0a3271a156e442b 100644
--- a/llvm/tools/llvm-xray/xray-converter.cpp
+++ b/llvm/tools/llvm-xray/xray-converter.cpp
@@ -190,7 +190,7 @@ findSiblings(StackTrieNode *parent, int32_t FnId, uint32_t TId,
SmallVector<StackTrieNode *, 4> Siblings{};
if (parent == nullptr) {
- for (auto map_iter : StackRootsByThreadId) {
+ for (const auto &map_iter : StackRootsByThreadId) {
// Only look for siblings in other threads.
if (map_iter.first != TId)
for (auto node_iter : map_iter.second) {
diff --git a/llvm/tools/llvm-xray/xray-fdr-dump.cpp b/llvm/tools/llvm-xray/xray-fdr-dump.cpp
index 295f7a78765f4dc..017ff03ce30ecf4 100644
--- a/llvm/tools/llvm-xray/xray-fdr-dump.cpp
+++ b/llvm/tools/llvm-xray/xray-fdr-dump.cpp
@@ -101,7 +101,7 @@ static CommandRegistration Unused(&Dump, []() -> Error {
// Then we validate while printing each block.
BlockVerifier BV;
- for (auto ProcessThreadBlocks : Index) {
+ for (const auto &ProcessThreadBlocks : Index) {
auto &Blocks = ProcessThreadBlocks.second;
for (auto &B : Blocks) {
for (auto *R : B.Records) {
diff --git a/llvm/unittests/ADT/IteratorTest.cpp b/llvm/unittests/ADT/IteratorTest.cpp
index 5b815dbcd37a640..3a4a5b02b1040f7 100644
--- a/llvm/unittests/ADT/IteratorTest.cpp
+++ b/llvm/unittests/ADT/IteratorTest.cpp
@@ -274,7 +274,7 @@ TEST(FilterIteratorTest, Enumerate) {
int A[] = {0, 1, 2, 3, 4, 5, 6};
auto Enumerate = llvm::enumerate(A);
SmallVector<int> Actual;
- for (auto IndexedValue : make_filter_range(Enumerate, IsOdd))
+ for (const auto &IndexedValue : make_filter_range(Enumerate, IsOdd))
Actual.push_back(IndexedValue.value());
EXPECT_EQ((SmallVector<int, 3>{1, 3, 5}), Actual);
}
diff --git a/llvm/unittests/FileCheck/FileCheckTest.cpp b/llvm/unittests/FileCheck/FileCheckTest.cpp
index 4b844a9ff86d157..317fc4493cb5d44 100644
--- a/llvm/unittests/FileCheck/FileCheckTest.cpp
+++ b/llvm/unittests/FileCheck/FileCheckTest.cpp
@@ -1644,7 +1644,7 @@ TEST_F(FileCheckTest, CapturedVarDiags) {
std::vector<FileCheckDiag> Diags;
Tester.printVariableDefs(FileCheckDiag::MatchFoundAndExpected, Diags);
EXPECT_EQ(Diags.size(), 2ul);
- for (FileCheckDiag Diag : Diags) {
+ for (const FileCheckDiag &Diag : Diags) {
EXPECT_EQ(Diag.CheckTy, Check::CheckPlain);
EXPECT_EQ(Diag.MatchTy, FileCheckDiag::MatchFoundAndExpected);
EXPECT_EQ(Diag.InputStartLine, 1u);
diff --git a/llvm/utils/TableGen/IntrinsicEmitter.cpp b/llvm/utils/TableGen/IntrinsicEmitter.cpp
index 09aad78536fee70..3402809c4828c66 100644
--- a/llvm/utils/TableGen/IntrinsicEmitter.cpp
+++ b/llvm/utils/TableGen/IntrinsicEmitter.cpp
@@ -214,7 +214,7 @@ void IntrinsicEmitter::EmitTargetInfo(const CodeGenIntrinsicTable &Ints,
<< " size_t Count;\n"
<< "};\n";
OS << "static constexpr IntrinsicTargetInfo TargetInfos[] = {\n";
- for (auto Target : Ints.Targets)
+ for (const auto &Target : Ints.Targets)
OS << " {llvm::StringLiteral(\"" << Target.Name << "\"), " << Target.Offset
<< ", " << Target.Count << "},\n";
OS << "};\n";
More information about the llvm-commits
mailing list