diff options
author | Sebastian Neubauer <sebastian.neubauer@amd.com> | 2021-04-12 11:47:16 +0200 |
---|---|---|
committer | Sebastian Neubauer <sebastian.neubauer@amd.com> | 2021-04-12 11:52:55 +0200 |
commit | b76c2a6c2b97bebb7a4e529cf3c8bde78253dde4 (patch) | |
tree | 77659c4fbecb91aac5d3250c8719d83c4c66168c /llvm/tools/llvm-objcopy/llvm-objcopy.cpp | |
parent | ca3bae94c469211749fd2599d35ebd73cab45fa0 (diff) | |
download | llvm-b76c2a6c2b97bebb7a4e529cf3c8bde78253dde4.zip llvm-b76c2a6c2b97bebb7a4e529cf3c8bde78253dde4.tar.gz llvm-b76c2a6c2b97bebb7a4e529cf3c8bde78253dde4.tar.bz2 |
[AMDGPU] Fix saving fp and bp
Spilling the fp or bp to scratch could overwrite VGPRs of inactive
lanes. Fix that by using only the active lanes of the scavenged VGPR.
This builds on the assumptions that
1. a function is never called with exec=0
2. lanes do not die in a function, i.e. exec!=0 in the function epilog
3. no new lanes are active when exiting the function, i.e. exec in the
epilog is a subset of exec in the prolog.
Differential Revision: https://reviews.llvm.org/D96869
Diffstat (limited to 'llvm/tools/llvm-objcopy/llvm-objcopy.cpp')
0 files changed, 0 insertions, 0 deletions