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

via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 25 06:59:17 PST 2024


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-llvm-binary-utilities

Author: Rahman Lavaee (rlavaee)

<details>
<summary>Changes</summary>

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

---
Full diff: https://github.com/llvm/llvm-project/pull/79456.diff


1 Files Affected:

- (modified) llvm/tools/llvm-objdump/llvm-objdump.cpp (+1-1) 


``````````diff
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp
index 22b427f57658e1..a80f4c2d908652 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));

``````````

</details>


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


More information about the llvm-commits mailing list