This is an archive of the discontinued LLVM Phabricator instance.

[OpaquePtr] Return opaque pointer from opaque pointer GEP
ClosedPublic

Authored by nikic on Jun 21 2021, 8:45 AM.

Details

Summary

For a GEP on an opaque pointer, also return an opaque pointer (or vector of opaque pointer) result.

This requires explicitly enumerating the GEP source element type, because it is now no longer implicitly enumerated as part of either the source or result pointer types.

Diff Detail

Event Timeline

nikic created this revision.Jun 21 2021, 8:45 AM
nikic requested review of this revision.Jun 21 2021, 8:45 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 21 2021, 8:45 AM
aeubanks accepted this revision.Jun 21 2021, 8:50 AM

lgtm

what about GEP constants? do we need to do something special for those in ValueEnumerator?

This revision is now accepted and ready to land.Jun 21 2021, 8:50 AM
nikic added a comment.Jun 21 2021, 9:12 AM

lgtm

what about GEP constants? do we need to do something special for those in ValueEnumerator?

Yeah, and also a few more changes. I'll create a followup patch.

This revision was landed with ongoing or failed builds.Jun 21 2021, 9:38 AM
This revision was automatically updated to reflect the committed changes.