This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU: Initial implementation of calls
ClosedPublic

Authored by arsenm on Jul 28 2017, 10:08 AM.

Details

Summary

Includes a hack to fix the type selected for
the GlobalAddress of the function, which will be
fixed by changing the default datalayout to use
generic pointers for 0.

Diff Detail

Event Timeline

arsenm created this revision.Jul 28 2017, 10:08 AM
rampitec added inline comments.Jul 28 2017, 11:20 AM
lib/Target/AMDGPU/SIFrameLowering.cpp
605

Which memory is used? I thought it is scratch, in which case it shall be already implicitly multiplied by the wavefront size.

arsenm added inline comments.Jul 28 2017, 11:39 AM
lib/Target/AMDGPU/SIFrameLowering.cpp
605

This is used by the scalar load/stores. The implicit multiply by the wave size applies to the VGPR and immediate offset, not the SGPR offset. Any operations on the SGPR offsets, which the SP/FP are need to be scaled.

605

This is used by the buffer load/stores. The implicit multiply by the wave size applies to the VGPR and immediate offset, not the SGPR offset. Any operations on the SGPR offsets, which the SP/FP are need to be scaled.

This revision is now accepted and ready to land.Jul 28 2017, 11:46 AM
arsenm closed this revision.Aug 1 2017, 1:03 PM

r309732