diff options
author | Jay Foad <jay.foad@amd.com> | 2025-05-13 10:52:36 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-13 10:52:36 +0100 |
commit | 28b7d6621a70799705b04d2e08dc98a185151d3a (patch) | |
tree | 6254bd48e2b1cad8c698e35e4db18b39b10bde3d /clang/lib/CodeGen/ModuleBuilder.cpp | |
parent | 671cef029fc13ea652ca6605b6b508c0d7332fa9 (diff) | |
download | llvm-28b7d6621a70799705b04d2e08dc98a185151d3a.zip llvm-28b7d6621a70799705b04d2e08dc98a185151d3a.tar.gz llvm-28b7d6621a70799705b04d2e08dc98a185151d3a.tar.bz2 |
[TableGen][CodeGen] Give every leaf register a unique regunit (#139526)
Give every leaf register a unique regunit, even if it has ad hoc
aliases.
Previously only leaf registers *without* ad hoc aliases would get a
unique regunit, but that caused situations where regunits could not be
used to distinguish a register from its subregs. For example:
- Registers A and B alias. They both get regunit 0 only.
- Register C has subregs A and B. It inherits regunits from its subregs,
so it also gets regunit 0 only.
After this fix, registers A and B will get a unique regunit in addition
to the regunit representing the alias, for example:
- A will get regunits 0 and 1.
- B will get regunits 0 and 2.
- C will get regunits 0, 1 and 2.
Diffstat (limited to 'clang/lib/CodeGen/ModuleBuilder.cpp')
0 files changed, 0 insertions, 0 deletions