This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU: Disallow spill folding with m0 copies
ClosedPublic

Authored by arsenm on Oct 30 2019, 1:24 PM.

Details

Summary

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.

Diff Detail

Event Timeline

arsenm created this revision.Oct 30 2019, 1:24 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 30 2019, 1:24 PM
This revision is now accepted and ready to land.Oct 30 2019, 1:27 PM