aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineFunctionSplitter.cpp
diff options
context:
space:
mode:
authorPetar Avramovic <Petar.Avramovic@amd.com>2024-04-23 12:38:00 +0200
committerGitHub <noreply@github.com>2024-04-23 12:38:00 +0200
commitd610a513ce10b41c94da9299e926f22d96e873bc (patch)
treedc6cf770bf1c4f2b77070c6d5a8cea53c4a02457 /llvm/lib/CodeGen/MachineFunctionSplitter.cpp
parent34caafe84ffd8588e717c92da358ad9368cc4fe5 (diff)
downloadllvm-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