aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objcopy/llvm-objcopy.cpp
diff options
context:
space:
mode:
authorSebastian Neubauer <sebastian.neubauer@amd.com>2021-04-12 11:47:16 +0200
committerSebastian Neubauer <sebastian.neubauer@amd.com>2021-04-12 11:52:55 +0200
commitb76c2a6c2b97bebb7a4e529cf3c8bde78253dde4 (patch)
tree77659c4fbecb91aac5d3250c8719d83c4c66168c /llvm/tools/llvm-objcopy/llvm-objcopy.cpp
parentca3bae94c469211749fd2599d35ebd73cab45fa0 (diff)
downloadllvm-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