[all-commits] [llvm/llvm-project] d9e0a2: AMDGPU: Disallow spill folding with m0 copies
Matt Arsenault via All-commits
all-commits at lists.llvm.org
Wed Oct 30 14:56:42 PDT 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: d9e0a2942ac71327166a3a597e8383192fd19b17
https://github.com/llvm/llvm-project/commit/d9e0a2942ac71327166a3a597e8383192fd19b17
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2019-10-30 (Wed, 30 Oct 2019)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
A llvm/test/CodeGen/AMDGPU/fold-reload-into-m0.mir
Log Message:
-----------
AMDGPU: Disallow spill folding with m0 copies
readlane and writelane instructions are not allowed to use m0 as the
data operand, so spilling them is tricky and would require an
intermediate SGPR to spill it. Constrain the virtual register class in
this caes to disallow the inline spiller from folding the m0 operand
directly into the spill instruction.
I copied this hack from AArch64 which has the same problem for $sp.
More information about the All-commits
mailing list