This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU/SI: Add support for spilling VGPRs without having to scavenge registers
ClosedPublic

Authored by tstellarAMD on Apr 8 2016, 6:40 PM.

Details

Summary

When we are spilling SGPRs to scratch memory, we usually don't have
free SGPRs to do the address calculation, so we need to re-use the
ScratchOffset register for the calculation.

Diff Detail

Repository
rL LLVM

Event Timeline

tstellarAMD retitled this revision from to AMDGPU/SI: Add support for spilling VGPRs without having to scavenge registers.
tstellarAMD updated this object.
tstellarAMD added a reviewer: arsenm.
tstellarAMD added a subscriber: llvm-commits.
arsenm accepted this revision.Apr 12 2016, 9:07 AM
arsenm edited edge metadata.

Is a test possible?

lib/Target/AMDGPU/SIRegisterInfo.cpp
267 ↗(On Diff #53108)

SGPRS->SGPRs

This revision is now accepted and ready to land.Apr 12 2016, 9:07 AM

Is a test possible?

I have a test case but it takes 45 seconds to compile. I wasn't able to create one using the inline asm hack either.

This revision was automatically updated to reflect the committed changes.