[all-commits] [llvm/llvm-project] 090308: [BOLT][DebugInfo] Make parallel DWARF debug names ...

Thrrreeee via All-commits all-commits at lists.llvm.org
Sun May 31 19:51:04 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 090308199b301dc5c6a2470b3a6b7ef89866dd6a
      https://github.com/llvm/llvm-project/commit/090308199b301dc5c6a2470b3a6b7ef89866dd6a
  Author: Thrrreeee <shijinrui at bytedance.com>
  Date:   2026-06-01 (Mon, 01 Jun 2026)

  Changed paths:
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DebugNames.h
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp

  Log Message:
  -----------
  [BOLT][DebugInfo] Make parallel DWARF debug names generation deterministic(1/2) (#197670)

This change makes BOLT's split DWARF rewriting path produce
deterministic debug names output when processing CUs in parallel.

Previously, several pieces of state used while building `.debug_names`
and updating DWO names were populated during parallel CU processing.
This could make CU/TU index assignment, cross-
CU DIE lookup, and duplicate DWO name disambiguation depend on thread
scheduling order, which in turn could lead to non-reproducible output
across runs.
The patch moves DWO name collection into a deterministic pre-processing
step, pre-allocates debug names CU / foreign TU slots before concurrent
processing, protects cross-CU DIE tracking
with a mutex, and adds a stable tie-breaker when sorting accelerator
table entries. It also centralizes creation of the DWO output directory
before parallel work starts.
This improves reproducibility of BOLT output, makes debug info rewriting
less sensitive to parallel execution order, and avoids subtle
nondeterminism in generated `.debug_names` / split DWARF artifacts.

RFC - [[RFC][BOLT] A New Parallel DWARF Processing Approach in
BOLT](https://discourse.llvm.org/t/rfc-bolt-a-new-parallel-dwarf-processing-approach-in-bolt/90736)
(The overall changes will be split into two separate PRs for easier
review.)
Draft PR - [[BOLT][DebugInfo] Add a new parallel DWARF
processing(2/2)](https://github.com/llvm/llvm-project/pull/197859)
(including all changes)



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list