[llvm] [DWARF] Speedup .gdb_index dumping (PR #151806)

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 5 09:54:59 PDT 2025


================
@@ -60,6 +61,24 @@ void DWARFGdbIndex::dumpSymbolTable(raw_ostream &OS) const {
                ", filled slots:",
                SymbolTableOffset, (uint64_t)SymbolTable.size())
      << '\n';
+
+  std::unordered_map<uint32_t, decltype(ConstantPoolVectors)::const_iterator>
+      CuVectorMap{};
+  CuVectorMap.reserve(ConstantPoolVectors.size());
+  const auto FindCuVector =
+      [&CuVectorMap, notFound = ConstantPoolVectors.end()](uint32_t vecOffset) {
----------------
dwblaikie wrote:

I probably wouldn't bother separately capturing things like this in a locally scoped non-erased functor. Probably just use `[&]` and `return ConstantPoolVectors.end();` in the fail-case.

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


More information about the llvm-commits mailing list