This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU/GlobalISel: Select llvm.amdcn.raw.buffer.load
ClosedPublic

Authored by arsenm on Jan 8 2020, 7:06 PM.

Details

Summary

Use intermediate instructions, unlike with buffer stores. This is
necessary because of the need to have an internal way to distinguish
between signed and unsigned extloads. This introduces some duplication
and near duplication with the buffer store selection path. The store
handling should maybe be moved into legalization to match and
eliminate the duplication.

Diff Detail

Event Timeline

arsenm created this revision.Jan 8 2020, 7:06 PM
arsenm updated this revision to Diff 236954.Jan 8 2020, 7:40 PM

Use adjusted MMO

arsenm updated this revision to Diff 237772.Jan 13 2020, 1:45 PM

Remove dead regbankselect cases

kerbowa added inline comments.Jan 14 2020, 6:02 AM
llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
2325

NITPICK: Fix comment.

arsenm updated this revision to Diff 239575.Jan 22 2020, 6:38 AM

Remove comment

kerbowa accepted this revision.Jan 27 2020, 8:22 AM

LGTM

This revision is now accepted and ready to land.Jan 27 2020, 8:22 AM
nhaehnle accepted this revision.Jan 27 2020, 8:30 AM

I have a nitpick, but either way LGTM.

llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
2325

Stylistically, I think it's preferable to put braces around both sides of the if/else if one side needs it.