[PATCH] D134641: [AMDGPU][Backend] Fix user-after-free in AMDGPUReleaseVGPRs::isLastVGPRUseVMEMStore
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 28 09:25:09 PDT 2022
arsenm added inline comments.
================
Comment at: llvm/lib/Target/AMDGPU/AMDGPUReleaseVGPRs.cpp:70
+ BlockVMEMStore.resize(MF.getNumBlockIDs());
+ for (auto &MBB : MF) {
+ BlockVMEMStore[MBB.getNumber()] = lastBlockVGPRUseIsVMEMStore(MBB);
----------------
I'd expect this to be the post_order loop
================
Comment at: llvm/lib/Target/AMDGPU/AMDGPUReleaseVGPRs.cpp:76
+ for (auto *MBB : reverse(PostOrder)) {
+ auto LastUseIsVMEMStore = BlockVMEMStore[MBB->getNumber()];
+ LastUseIsVMEMStore = LastUseIsVMEMStore ||
----------------
Just use bool?
================
Comment at: llvm/lib/Target/AMDGPU/AMDGPUReleaseVGPRs.cpp:77
+ auto LastUseIsVMEMStore = BlockVMEMStore[MBB->getNumber()];
+ LastUseIsVMEMStore = LastUseIsVMEMStore ||
+ any_of(MBB->predecessors(),
----------------
This looks like a dead variable?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D134641/new/
https://reviews.llvm.org/D134641
More information about the llvm-commits
mailing list