This is an archive of the discontinued LLVM Phabricator instance.

[SVE] Ensure proper mangling of ACLE tuple types
ClosedPublic

Authored by sdesmalen on Jun 12 2020, 1:34 AM.

Details

Summary

The AAPCS specifies that the tuple types such as svint32x2_t
should use their arm_sve.h names when mangled instead of their
builtin names.

This patch also renames the internal types for the tuples to
be prefixed with __clang_, so they are not misinterpreted as
specified internal types like the non-tuple types which *are* defined
in the AAPCS. Using a builtin type for the tuples is a purely
a choice of the Clang implementation.

Diff Detail

Event Timeline

sdesmalen created this revision.Jun 12 2020, 1:34 AM
Herald added a project: Restricted Project. · View Herald Transcript

See https://github.com/ARM-software/abi-aa/blob/master/aapcs64/aapcs64.rst#appendix-c-mangling for details on the mangling rules.

I thought it would be easier to review if I kept these changes separate from D81459.

This revision is now accepted and ready to land.Jun 12 2020, 4:25 PM
This revision was automatically updated to reflect the committed changes.