AMDGPU: Reverted SGPR spilling through scalar stores

Marek Olšák via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 25 08:41:23 PST 2016


Hi,

It's been almost 2 weeks since SGPR spilling through scalar stores was
committed. Since then, it has caused many issues, such as crashes and
incorrect behavior, but some users also reported lower performance
(though the precise cause of that hasn't been tracked down).

That's unacceptable for us and our users, because LLVM trunk is being
tested by many people who use Mesa and our bugzilla has been filling
up with new reports due to SGPR spilling causing issues. LLVM trunk is
also regularly benchmarked by Phoronix and if there are any issues, it
can be detrimental to our company's image.

To be honest with you, that SGPR spilling code should have been
reverted a week ago.

We need to push for a higher standard of quality of LLVM trunk. That means:
- All shaders in our internal shader-db should compile successfully
(no crashes, no compile failures, no codegen validation errors).
- Reverts like this should happen more often when something breaks and
isn't fixed in a timely manner.

I know that SGPR spilling via writelane and then VMEM isn't perfect,
but it's the best thing we've got so far.

If SGPR spilling through scalar stores is ever enabled again:
- It shouldn't break any games.
- It should have at least the same performance as the writelane
method, so we'll have to do some benchmarking before we can enable it
for Mesa.

Thanks for understanding,

Marek


More information about the llvm-commits mailing list