diff options
| author | Petar Avramovic <Petar.Avramovic@amd.com> | 2024-04-23 12:38:00 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-23 12:38:00 +0200 |
| commit | d610a513ce10b41c94da9299e926f22d96e873bc (patch) | |
| tree | dc6cf770bf1c4f2b77070c6d5a8cea53c4a02457 /llvm/lib/CodeGen/MachineFunctionSplitter.cpp | |
| parent | 34caafe84ffd8588e717c92da358ad9368cc4fe5 (diff) | |
| download | llvm-d610a513ce10b41c94da9299e926f22d96e873bc.zip llvm-d610a513ce10b41c94da9299e926f22d96e873bc.tar.gz llvm-d610a513ce10b41c94da9299e926f22d96e873bc.tar.bz2 | |
RenameIndependentSubregs: Add missing sub-range for new IMPLICIT_DEFs (#89050)
Existing sub-ranges are correctly updated because new IMPLICIT_DEF is
added, but there is missing sub-range for IMPLICIT_DEF itself.
Because of missing sub-range in live-intervals for IMPLICIT_DEF,
register allocator does not know that IMPLICIT_DEF rewrites its
virtual sub-registers and can end up assigning overlapping physical
registers to them.
This results in deleting instructions that were defined by sub-registers
overwritten by IMPLICIT_DEF as they are now dead.
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunctionSplitter.cpp')
0 files changed, 0 insertions, 0 deletions
