[all-commits] [llvm/llvm-project] 51f4e2: [Bitcode][NFC] Add abbrev for FUNC_CODE_DEBUG_LOC ...

Jeremy Morse via All-commits all-commits at lists.llvm.org
Sun Jul 6 14:30:53 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 51f4e2cda2b3af853734b83aa523063afdd7bd46
      https://github.com/llvm/llvm-project/commit/51f4e2cda2b3af853734b83aa523063afdd7bd46
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2025-07-06 (Sun, 06 Jul 2025)

  Changed paths:
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/test/Bitcode/debug-loc-again.ll

  Log Message:
  -----------
  [Bitcode][NFC] Add abbrev for FUNC_CODE_DEBUG_LOC (#147211)

DILocations that are not attached to instructions are encoded using
METADATA_LOCATION records which have an abbrev. DILocations attached to
instructions are interleaved with instruction records as FUNC_CODE_DEBUG_LOC
records, which do not have an abbrev (and FUNC_CODE_DEBUG_LOC_AGAIN
which have no operands).

Add a new FUNCTION_BLOCK abbrev FUNCTION_DEBUG_LOC_ABBREV for
FUNC_CODE_DEBUG_LOC records.

This reduces the bc file size by up to 7% in CTMark, with many between 2-4%
smaller.

[per-file file size
compile-time-tracker](https://llvm-compile-time-tracker.com/compare.php?from=75cf826849713c00829cdf657e330e24c1a2fd03&to=1e268ebd0a581016660d9d7e942495c1be041f7d&stat=size-file&details=on)
(go to stage1-ReleaseLTO-g).

This optimisation is motivated by #144102, which adds the new Key Instructions
fields to bitcode records. The combined patches still overall look to be a
slight improvement over the base.

(Originally reviewed in PR #146497)

Co-authored-by: Orlando Cazalet-Hyams <orlando.hyams at sony.com>



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