diff options
author | Philip Reames <preames@rivosinc.com> | 2025-10-07 07:21:32 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-10-07 07:21:32 -0700 |
commit | 459472eef056ba5119a5da37a5cbb789fac531ae (patch) | |
tree | 9578b44e4dc1abfefe0d74268a1be31821f03f13 /llvm/examples/OptSubcommand/llvm-hello-sub.cpp | |
parent | 6ae658308919e1c01cb4221f8cd07365c7ce6fc2 (diff) | |
download | llvm-459472eef056ba5119a5da37a5cbb789fac531ae.zip llvm-459472eef056ba5119a5da37a5cbb789fac531ae.tar.gz llvm-459472eef056ba5119a5da37a5cbb789fac531ae.tar.bz2 |
[LRE] Adjust order of cases in eliminateDeadDefs (#162108)
If we have a rematerializable instruction without live virtual register
uses (that we didn't heuristically decide to shrink), but with a physreg
use, we were creating a kill to keep the physreg operand liveness
unchanged. This meant we *weren't* keeping around the remat instruction,
and thus inhibiting future remat within the original live interval. If
we keep the remat instruction, that *also* keeps the physreg use, and
thus we can achieve both objectives at once.
Noticed this via inspection, and we don't currently seem to have any
rematerializable instructions which could observe the difference. This
could in theory happen for both trivial and non-trivial remat, but
requires the rematerialization of an instruction with a physreg use.
Diffstat (limited to 'llvm/examples/OptSubcommand/llvm-hello-sub.cpp')
0 files changed, 0 insertions, 0 deletions