This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU: Use explicit register size indirect pseudos
ClosedPublic

Authored by arsenm on Oct 6 2015, 9:26 AM.

Details

Reviewers
tstellarAMD
Summary

This stops using an unknown reg class operand.

Currently build_vector selection has a broken looking check
where it tries to use a VGPR reg class and an SGPR one if it
sees an SGPR use.

With the source operand has an explicit VGPR class,
illegal copies will be inserted that SIFixSGPRCopies will take care
of normally later, which will allow removing the weird check
of build_vector users. Without this, when removed v_movrels_b32 would
still be emitted even though all of the values were only stored in
SGPRs.

Diff Detail

Event Timeline

arsenm updated this revision to Diff 36633.Oct 6 2015, 9:26 AM
arsenm retitled this revision from to AMDGPU: Use explicit register size indirect pseudos.
arsenm updated this object.
arsenm added a reviewer: tstellarAMD.
arsenm added a subscriber: llvm-commits.
tstellarAMD accepted this revision.Oct 6 2015, 4:25 PM
tstellarAMD edited edge metadata.

LGTM.

This revision is now accepted and ready to land.Oct 6 2015, 4:25 PM
arsenm closed this revision.Oct 6 2015, 5:45 PM

r249494