This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU/GlobalISel: Stop using G_EXTRACT in argument lowering
ClosedPublic

Authored by arsenm on Jul 21 2020, 9:58 AM.

Details

Summary

We really need to put this undef padding stuff into a helper
somewhere, but leave that for when this is moved to generic code.

Diff Detail

Event Timeline

arsenm created this revision.Jul 21 2020, 9:58 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 21 2020, 9:58 AM
kerbowa accepted this revision.Aug 5 2020, 7:41 PM

LGTM

This revision is now accepted and ready to land.Aug 5 2020, 7:41 PM
foad accepted this revision.Aug 6 2020, 1:40 AM

Looks OK to me too modulo comments inline.

llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
372

SrcTy.getScalarSizeInBits() ?

382–383

Comment seems wrong and possibly redundant.

389

Is DstTy ever different from PartTy? If so, what exactly is PartTy?

arsenm marked an inline comment as done.Aug 6 2020, 6:55 AM
arsenm added inline comments.
llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
372

That is slightly different since it also works for non-vectors, which may be unintentional

389

Yes, PartTy the physical register type, DstTy is the original register type from the IR