aboutsummaryrefslogtreecommitdiff
path: root/llvm/examples/OptSubcommand/llvm-hello-sub.cpp
diff options
context:
space:
mode:
authorPhilip Reames <preames@rivosinc.com>2025-10-07 07:21:32 -0700
committerGitHub <noreply@github.com>2025-10-07 07:21:32 -0700
commit459472eef056ba5119a5da37a5cbb789fac531ae (patch)
tree9578b44e4dc1abfefe0d74268a1be31821f03f13 /llvm/examples/OptSubcommand/llvm-hello-sub.cpp
parent6ae658308919e1c01cb4221f8cd07365c7ce6fc2 (diff)
downloadllvm-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