[all-commits] [llvm/llvm-project] 411357: [TableGen] Recompute only the affected UberSet whe...
Justin Lebar via All-commits
all-commits at lists.llvm.org
Fri Jun 5 18:55:26 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 4113577578485d6b6e8cb398aa69637263fdb64f
https://github.com/llvm/llvm-project/commit/4113577578485d6b6e8cb398aa69637263fdb64f
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Recompute only the affected UberSet when inheriting reg units (#200962)
CodeGenRegBank::computeRegUnitWeights() runs a fixpoint over all registers;
normalizeWeight() calls the global computeUberWeights() -- which rescans
every UberRegSet, every register, and all of their register units -- each time
a register inherits register units from its subregisters.
Most of the time, we do better by just recomputing one register's
UberSet.
On AMDGPU (21266 registers) with this change, the "Compute reg unit
weights" phase drops from 3.19s to 0.70s (4.5x speedup) and
-gen-register-info improves overall from ~16.4s to ~14.0s.
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