HomePhabricator

AMDGPU: Use wider scalar spills for SGPR spilling

Description

AMDGPU: Use wider scalar spills for SGPR spilling

Since the spill is for the whole wave, these
don't have the swizzling problems that vector stores do
and a single 4-byte allocation is enough to spill a 64 element
register. This should reduce the number of spill instructions and
put all the spills for a register in the same cacheline.

This should save allocated private size, but for now it doesn't.
The extra slots are allocated for each component, but never used
because the frame layout is essentially finalized before frame
indices are replaced. For always using the scalar store path,
this should probably be moved into processFunctionBeforeFrameFinalized.

Details

Committed
arsenmDec 1 2016, 4:54 PM
Parents
rL288444: Delete tautological assertion.
Branches
Unknown
Tags
Unknown