[all-commits] [llvm/llvm-project] 4a1c00: [MC] Pack scheduling class entry counts (#202649)

David Zbarsky via All-commits all-commits at lists.llvm.org
Sat Jul 18 23:54:45 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4a1c00420f7e1660d509ac32ca3d02a4aef20ab2
      https://github.com/llvm/llvm-project/commit/4a1c00420f7e1660d509ac32ca3d02a4aef20ab2
  Author: David Zbarsky <dzbarsky at gmail.com>
  Date:   2026-07-19 (Sun, 19 Jul 2026)

  Changed paths:
    M llvm/include/llvm/MC/MCSchedule.h
    M llvm/test/TableGen/CompressWriteLatencyEntry.td
    M llvm/utils/TableGen/SubtargetEmitter.cpp

  Log Message:
  -----------
  [MC] Pack scheduling class entry counts (#202649)

Generated scheduling classes currently use at most 20 write-resource
entries and 35 write-latency entries, while read-advance counts reach
504. Narrow the two write counts to `uint8_t`, order the three table
indices before the three counts, and emit target-specific compile-time
bounds assertions in generated subtarget source.

This reduces `sizeof(MCSchedClassDesc)` from 14 to 12 bytes in release
builds and from 20 to 16 bytes with debug fields. Fully stripped arm64
`llvm-mca` decreases by 544,896 bytes (1.49%), and the stripped
all-tools multicall binary decreases by 528,376 bytes (0.368%).

Work towards #202616

AI tool disclosure: Co-authored with OpenAI Codex.



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