[all-commits] [llvm/llvm-project] 95d497: [AMDGPU] W/a hazard if 64 bit shift amount is a hi...
Stanislav Mekhanoshin via All-commits
all-commits at lists.llvm.org
Wed Sep 7 14:24:12 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 95d497ff2a765ec1038f5670a07369e1c4f639c4
https://github.com/llvm/llvm-project/commit/95d497ff2a765ec1038f5670a07369e1c4f639c4
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2022-09-07 (Wed, 07 Sep 2022)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
A llvm/test/CodeGen/AMDGPU/hazard-shift64.mir
Log Message:
-----------
[AMDGPU] W/a hazard if 64 bit shift amount is a highest allocated VGPR
In this case gfx90a uses v0 instead of the correct register. Swap
the value temporarily with a lower register and then swap it back.
Unfortunately hazard recognizer works after wait count insertion,
so we cannot simply reuse an arbitrary register, hence w/a also
includes a full waitcount. This can be avoided if we run it from
expandPostRAPseudo, but that is a complete misplacement.
Differential Revision: https://reviews.llvm.org/D133067
More information about the All-commits
mailing list