aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineOutliner.cpp
diff options
context:
space:
mode:
authorLuke Lau <luke@igalia.com>2025-02-26 23:04:24 +0800
committerLuke Lau <luke@igalia.com>2025-02-26 23:09:50 +0800
commit35bf925f7ea95e71208a839cf4b02de2ee473f75 (patch)
tree776b3af7d33fa8e59fc0f09757643bf2341f5978 /llvm/lib/CodeGen/MachineOutliner.cpp
parent1b17d1ee6e6c9174d32d0bfb6b304917b2dcb2f3 (diff)
downloadllvm-35bf925f7ea95e71208a839cf4b02de2ee473f75.zip
llvm-35bf925f7ea95e71208a839cf4b02de2ee473f75.tar.gz
llvm-35bf925f7ea95e71208a839cf4b02de2ee473f75.tar.bz2
[RISCV] Delete dead COPYs to vmv0 during vmv0 elimination
This fixes a crash reported at https://github.com/llvm/llvm-project/pull/126850#issuecomment-2685166388, where we may leave around a COPY to vmv0 after peeking through it. Even though the COPY is dead, there's no pass between vmv0 elimination and regalloc that will delete it so regalloc will try to allocate something for it. The test showcasing this is added in vmv0-elimination.mir. Removing the dead COPY results in changes in spills in the >= LMUL 16 VP tests, but it's worth noting that these tests are very noisy and not representative of real world code.
Diffstat (limited to 'llvm/lib/CodeGen/MachineOutliner.cpp')
0 files changed, 0 insertions, 0 deletions