[all-commits] [llvm/llvm-project] 095bf6: [Greedy RegAlloc] Fix the handling of split regist...
serguei-katkov via All-commits
all-commits at lists.llvm.org
Mon Jun 13 22:05:34 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 095bf6be28c5308a7e7c2cbc5a84adbb11bef57d
https://github.com/llvm/llvm-project/commit/095bf6be28c5308a7e7c2cbc5a84adbb11bef57d
Author: Serguei Katkov <serguei.katkov at azul.com>
Date: 2022-06-14 (Tue, 14 Jun 2022)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
A llvm/test/CodeGen/AArch64/regalloc-last-chance-recolor-with-split.mir
M llvm/test/CodeGen/AMDGPU/remaining-virtual-register-operands.ll
Log Message:
-----------
[Greedy RegAlloc] Fix the handling of split register in last chance re-coloring.
This is a fix for https://github.com/llvm/llvm-project/issues/55827.
When register we are trying to re-color is split the original register (we tried to recover)
has no uses after the split. However in rollback actions we assign back physical register to it.
Later it causes different assertions. One of them is in attached test.
This CL fixes this by avoiding assigning physical register back to register which has no usage
or its live interval now is empty.
Reviewed By: arsenm, qcolombet
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D127281
More information about the All-commits
mailing list