This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU/GlobalISel: Start cleaning up calling convention lowering
ClosedPublic

Authored by arsenm on Dec 15 2020, 1:13 PM.

Details

Summary

There are various hacks working around limitations in
handleAssignments, and the logical split between different parts isn't
correct. Start separating the type legalization to satisfy going
through the DAG infrastructure from the code required to split into
register types. The type splitting should be moved to generic code.

Diff Detail

Event Timeline

arsenm created this revision.Dec 15 2020, 1:13 PM
arsenm requested review of this revision.Dec 15 2020, 1:13 PM
Herald added a project: Restricted Project. · View Herald TranscriptDec 15 2020, 1:13 PM
Herald added a subscriber: wdng. · View Herald Transcript
cdevadas added inline comments.Jan 6 2021, 5:12 AM
llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
261

Why did you change the condition here?

arsenm added inline comments.Jan 6 2021, 1:24 PM
llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
261

Because the opposite case can happen. The legalized memory size can exceed the register type, which would form an illegal load

cdevadas accepted this revision.Jan 6 2021, 8:16 PM

LGTM

This revision is now accepted and ready to land.Jan 6 2021, 8:16 PM