[llvm] [llvm-objdump, SHT_LLVM_BB_ADDR_MAP, NFC] Use auto && instead of const auto & to allow moving from BBAddrMap objects. (PR #79456)

Rahman Lavaee via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 25 06:58:47 PST 2024


https://github.com/rlavaee created https://github.com/llvm/llvm-project/pull/79456

std::move on `const auto &` references is essentially a noop. Changing to `auto &&` to actually allow moving.

>From fc3ed7546ca39c766edc0ccc69a271dafd894b91 Mon Sep 17 00:00:00 2001
From: Rahman Lavaee <rahmanl at google.com>
Date: Thu, 25 Jan 2024 14:51:23 +0000
Subject: [PATCH] [llvm-objdump,SHT_LLVM_BB_ADDR_MAP,NFC] Use auto && instead
 of const auto & to allow moving.

---
 llvm/tools/llvm-objdump/llvm-objdump.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp
index 22b427f57658e1d..a80f4c2d9086524 100644
--- a/llvm/tools/llvm-objdump/llvm-objdump.cpp
+++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp
@@ -1705,7 +1705,7 @@ disassembleObject(ObjectFile &Obj, const ObjectFile &DbgObj,
         reportWarning(toString(BBAddrMapsOrErr.takeError()), Obj.getFileName());
         return;
       }
-      for (const auto &[FunctionBBAddrMap, FunctionPGOAnalysis] :
+      for (auto &&[FunctionBBAddrMap, FunctionPGOAnalysis] :
            zip_equal(*std::move(BBAddrMapsOrErr), std::move(PGOAnalyses))) {
         uint64_t Addr = FunctionBBAddrMap.Addr;
         AddrToBBAddrMap.emplace(Addr, std::move(FunctionBBAddrMap));



More information about the llvm-commits mailing list