This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SME] Make the overloaded svreinterpret_* functions streaming-compatible.
ClosedPublic

Authored by sdesmalen on Aug 30 2023, 5:47 AM.

Details

Summary

Otherwise these functions are not inlined when invoked from streaming
functions.

Diff Detail

Event Timeline

sdesmalen created this revision.Aug 30 2023, 5:47 AM
Herald added a project: Restricted Project. · View Herald Transcript
sdesmalen requested review of this revision.Aug 30 2023, 5:47 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 30 2023, 5:47 AM
Herald added a subscriber: cfe-commits. · View Herald Transcript
david-arm added inline comments.Aug 31 2023, 1:59 AM
clang/include/clang/Basic/Attr.td
418

I'm not sure why this change is included in this patch?

clang/test/CodeGen/attr-arm-sve-vector-bits-types.c
6 ↗(On Diff #554675)

I can see this line looks redundant, but is it supposed to be related to the other changes?

sdesmalen updated this revision to Diff 555402.Sep 1 2023, 8:58 AM
sdesmalen marked an inline comment as done.

Added "aarch64_32" to TargetAArch64.

clang/include/clang/Basic/Attr.td
418

This is needed for clang/test/Sema/aarch64-sve-intrinsics/big_endian.cpp which has aarch64_be as target and includes arm_sve.h.
Without this change the __arm_streaming_compatible attribute is unsupported and leads to loads of error messages, thus failing the test.

paulwalker-arm accepted this revision.Sep 1 2023, 9:03 AM
This revision is now accepted and ready to land.Sep 1 2023, 9:03 AM
Matt added a subscriber: Matt.Sep 1 2023, 11:02 PM