[PATCH] D136169: [AMDGPU] Avoid SCC clobbering before S_CSELECT_B32
Alexander via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 19 09:43:07 PDT 2022
alex-t added inline comments.
================
Comment at: llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp:2216-2224
+ while (I != MBB->end()) {
+ if (*I != MI && I->readsRegister(AMDGPU::SCC)) {
+ NeedSaveSCC = true;
+ break;
+ }
+ if (*I != MI && I->definesRegister(AMDGPU::SCC))
+ break;
----------------
foad wrote:
> What is this loop for? Isn't the scavenger already supposed to know whether SCC is live?
> What is this loop for? Isn't the scavenger already supposed to know whether SCC is live?
The scavenger's knowledge depends on the accurate dead/kill flags insertion. This loop decreases the number of false-positive "live" SCC and accordingly unnecessary SCC saves/restores.
As Matt rightly pointed out, the dead/kill correct placement is out of this change scope.
It also is going to be a complex task.
Should I add a corresponding TODO here?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D136169/new/
https://reviews.llvm.org/D136169
More information about the llvm-commits
mailing list