aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/ModuloSchedule.cpp
diff options
context:
space:
mode:
authorSander de Smalen <sander.desmalen@arm.com>2025-07-30 14:42:24 +0100
committerGitHub <noreply@github.com>2025-07-30 14:42:24 +0100
commitbae8f1336db6a7f3288a7dcf253f2d484743b257 (patch)
tree3a3107ebd3677c70d845d2b1736184c8ecb02c72 /llvm/lib/CodeGen/ModuloSchedule.cpp
parent17c1921b4a78b2ab3f455278c2a057d164863866 (diff)
downloadllvm-bae8f1336db6a7f3288a7dcf253f2d484743b257.zip
llvm-bae8f1336db6a7f3288a7dcf253f2d484743b257.tar.gz
llvm-bae8f1336db6a7f3288a7dcf253f2d484743b257.tar.bz2
Reland "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG" (#134408)
This tries to reland #123632 (previously reverted by commit 6b1db79887df19bc8e8c946108966aa6021c8b87) This PR aims to fix coalescing of SUBREG_TO_REG when sub-register liveness tracking is enabled and this is now the so-manieth reincarnation of this effort :) This change is needed in order to enable subreg liveness tracking for AArch64, because without the implicit-def, Machine Copy Propagation would remove a 'redundant' copy because it doesn't realise that the top 32-bits of the register are zeroed, which subsequent instructions rely on. Changes compared to previous PR: * Rather than updating all instructions that define the source register (SrcReg) of the SUBREG_TO_REG, this new approach only updates instructions that define SrcReg when they dominate the SUBREG_TO_REG. The live-ranges are updated accordingly.
Diffstat (limited to 'llvm/lib/CodeGen/ModuloSchedule.cpp')
0 files changed, 0 insertions, 0 deletions