This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU: Define a schedule class for COPY.
ClosedPublic

Authored by MatzeB on Jun 20 2016, 4:47 PM.

Details

Summary

Proof of concept patch. I found this while analyzing some of the regressions in http://reviews.llvm.org/D19401 which are fixed by this, but the change should be good in general.

No testcase updates included here yet.

Diff Detail

Repository
rL LLVM

Event Timeline

MatzeB updated this revision to Diff 61324.Jun 20 2016, 4:47 PM
MatzeB retitled this revision from to AMDGPU: Define a schedule class for COPY..
MatzeB updated this object.
MatzeB added reviewers: tstellarAMD, arsenm.
MatzeB set the repository for this revision to rL LLVM.
MatzeB added a subscriber: llvm-commits.
arsenm added inline comments.Jun 20 2016, 5:08 PM
lib/Target/AMDGPU/SISchedule.td
108 ↗(On Diff #61324)

copy should be either WriteSALU or WriteVALU, but both of these seem to just use SALU. Is there a way to change this depending on the instance of the instruction?

MatzeB added inline comments.Jun 20 2016, 5:10 PM
lib/Target/AMDGPU/SISchedule.td
108 ↗(On Diff #61324)

Yes, with SchedWriteVariant. take a look at lib/Target/AArch64/AArch64SchedCyclone.td for an example.

MatzeB added inline comments.Jun 21 2016, 3:05 PM
lib/Target/AMDGPU/SISchedule.td
108 ↗(On Diff #61324)

I just wanted to work on this, but there isn't even a WriteVALU defined.

MatzeB updated this revision to Diff 61497.Jun 21 2016, 8:46 PM

Slightly enhanced schedule class selection for COPY. This really should be enough to get http://reviews.llvm.org/D19401 committed.

This revision was automatically updated to reflect the committed changes.