This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU: Fix not emitting code for exotic constructor types
ClosedPublic

Authored by arsenm on Nov 28 2022, 11:30 AM.

Details

Reviewers
pvellien
reshabh
JonChesterfield
sameerds
Group Reviewers
Restricted Project
Summary

This was simply ignoring any entries that weren't direct function
calls. This really should have been erroring on anything
unexpected. We should be able to handle calling just about anything
these days, so just call anything.

Diff Detail

Event Timeline

arsenm created this revision.Nov 28 2022, 11:30 AM
Herald added a project: Restricted Project. · View Herald TranscriptNov 28 2022, 11:30 AM
arsenm requested review of this revision.Nov 28 2022, 11:30 AM
Herald added a project: Restricted Project. · View Herald TranscriptNov 28 2022, 11:30 AM
Herald added a subscriber: wdng. · View Herald Transcript

The change description says "should" in a couple of places. If we should error out on unexpected entries, then can it be handled in this change itself? The ctor/dtor bodies in the test look well-formed, but do they actually produce the correct code in the ISA? Should we have an llc test for the same or similar input?

The change description says "should" in a couple of places. If we should error out on unexpected entries, then can it be handled in this change itself? The ctor/dtor bodies in the test look well-formed, but do they actually produce the correct code in the ISA? Should we have an llc test for the same or similar input?

We shouldn't error, we certainly have all the handling for handling calls to anything. I can add an extra run line here to be sure

arsenm updated this revision to Diff 478578.Nov 29 2022, 6:57 AM

Add llc run line

sameerds accepted this revision.Dec 9 2022, 1:04 AM
This revision is now accepted and ready to land.Dec 9 2022, 1:04 AM