[RFC] Permit load/store/alloca for struct containing all scalable vectors.

Hi all,

We have a proposal to support load/store/alloca for struct containing all scalable vectors. Please help us to review it and give us your suggestions.

Thanks a lot.

Introduction

Hi all,

Some update about the RFC. We use TypeSize for MemberOffsets now. We only permit all scalable types or all scalar types for the struct members. Use TypeSize is enough for the purpose.

I uploaded some patches related to the RFC.

The use cases for the scalable struct types in RISC-V segment load/store builtins:
https://reviews.llvm.org/D99593

To use RecordType to model segment load/store types in Clang:
https://reviews.llvm.org/D97264

We do not know the exact size of scalable struct. Do not use memcpy for struct copy in Clang:
https://reviews.llvm.org/D99590

Do not use getelementptr for scalable struct types in Clang:
https://reviews.llvm.org/D99482

Please help us to review these patches. Thanks a lot.

  • Kai