This is an archive of the discontinued LLVM Phabricator instance.

[IR] Allow matching pointer to vector with opaque pointers.
ClosedPublic

Authored by hgreving on Mar 21 2022, 7:30 PM.

Details

Summary

Allows for skipping the pointer to vector type if opaque pointers
are enabled and the matching pointer is a vector pointer when
matching an intrinsic signature in the verifier.

No test added since lacking a target using intrinsic with pointer to
vector arguments.

Diff Detail

Event Timeline

hgreving created this revision.Mar 21 2022, 7:30 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 21 2022, 7:30 PM
hgreving requested review of this revision.Mar 21 2022, 7:30 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 21 2022, 7:30 PM

Could you make the title more specific, mentioning intrinsic overloading and opaque pointers?

Also could you add a FIXME saying that other nested types don't properly work with intrinsic overloading but hopefully it doesn't happen in practice?

aeubanks added a reviewer: Restricted Project.Mar 21 2022, 11:07 PM
hgreving updated this revision to Diff 417294.Mar 22 2022, 7:33 AM
hgreving retitled this revision from [IR] Allow skipping vector pointer type. to [IR] Allow matching vector pointer with opaque pointers..
hgreving edited the summary of this revision. (Show Details)

Could you make the title more specific, mentioning intrinsic overloading and opaque pointers?

Also could you add a FIXME saying that other nested types don't properly work with intrinsic overloading but hopefully it doesn't happen in practice?

Done. Except it has nothing to do with overloading I think. It's matching an intrinsic signature in the verifier if opaque pointers are enabled, overloaded or not..

hgreving edited the summary of this revision. (Show Details)Mar 22 2022, 7:37 AM
nikic accepted this revision.Mar 22 2022, 8:16 AM
nikic added a subscriber: nikic.

LGTM. Just to be clear, when you say "vector pointer" you're talking about a "pointer to vector" rather than a "vector of pointers", right?

This revision is now accepted and ready to land.Mar 22 2022, 8:16 AM
hgreving retitled this revision from [IR] Allow matching vector pointer with opaque pointers. to [IR] Allow matching pointer to vector with opaque pointers..Mar 22 2022, 8:19 AM
hgreving edited the summary of this revision. (Show Details)

LGTM. Just to be clear, when you say "vector pointer" you're talking about a "pointer to vector" rather than a "vector of pointers", right?

Yes, edited.

hgreving edited the summary of this revision. (Show Details)Mar 22 2022, 8:20 AM
aeubanks accepted this revision.Mar 22 2022, 8:25 AM
This revision was landed with ongoing or failed builds.Mar 22 2022, 9:35 AM
This revision was automatically updated to reflect the committed changes.