aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
diff options
context:
space:
mode:
authorCullen Rhodes <cullen.rhodes@arm.com>2020-09-08 17:14:17 +0000
committerCullen Rhodes <cullen.rhodes@arm.com>2020-09-11 09:46:35 +0000
commit002f5ab3b171c7d9c9ea192b04a5303be78f6e52 (patch)
tree48759434cfeae83e05d77fd4ec9d6f4c5d004151 /clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
parent70a05ee2880e0ad88416ae4b4bed3cadc53e5cd1 (diff)
downloadllvm-002f5ab3b171c7d9c9ea192b04a5303be78f6e52.zip
llvm-002f5ab3b171c7d9c9ea192b04a5303be78f6e52.tar.gz
llvm-002f5ab3b171c7d9c9ea192b04a5303be78f6e52.tar.bz2
[clang][aarch64] Fix ILP32 ABI for arm_sve_vector_bits
The element types of scalable vectors are defined in terms of stdint types in the ACLE. This patch fixes the mapping to builtin types for the ILP32 ABI when creating VLS types with the arm_sve_vector_bits, where the mapping is as follows: int32_t -> LongTy int64_t -> LongLongTy uint32_t -> UnsignedLongTy uint64_t -> UnsignedLongLongTy This is implemented by leveraging getBuiltinVectorTypeInfo which is target agnostic since it calls ASTContext::getIntTypeForBitwidth for integer types. The element type for svfloat16_t is changed from Float16Ty to HalfTy when creating VLS types since this is what is used elsewhere. For more information, see: https://github.com/ARM-software/abi-aa/blob/master/aapcs64/aapcs64.rst#types-varying-by-data-model https://github.com/ARM-software/abi-aa/blob/master/aapcs64/aapcs64.rst#appendix-support-for-scalable-vectors Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D87358
Diffstat (limited to 'clang/lib/Frontend/CreateInvocationFromCommandLine.cpp')
0 files changed, 0 insertions, 0 deletions