aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
diff options
context:
space:
mode:
authorCullen Rhodes <cullen.rhodes@arm.com>2020-08-11 13:04:21 +0000
committerCullen Rhodes <cullen.rhodes@arm.com>2020-08-27 10:38:32 +0000
commitfeed5a7239d8ed0ec9f90775080ce8546bf364df (patch)
tree358b031359c28e0f8fea00aee6e5ae0ab0a1d309 /llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
parent73f09ce8f303409a09c7d50d216094ee13d85cab (diff)
downloadllvm-feed5a7239d8ed0ec9f90775080ce8546bf364df.zip
llvm-feed5a7239d8ed0ec9f90775080ce8546bf364df.tar.gz
llvm-feed5a7239d8ed0ec9f90775080ce8546bf364df.tar.bz2
[Sema][AArch64] Support arm_sve_vector_bits attribute
This patch implements the semantics for the 'arm_sve_vector_bits' type attribute, defined by the Arm C Language Extensions (ACLE) for SVE [1]. The purpose of this attribute is to define vector-length-specific (VLS) versions of existing vector-length-agnostic (VLA) types. The semantics were already implemented by D83551, although the implementation approach has since changed to represent VLSTs as VectorType in the AST and fixed-length vectors in the IR everywhere except in function args/returns. This is described in the prototype patch D85128 demonstrating the new approach. The semantic changes added in D83551 are changed since the AttributedType is replaced by VectorType in the AST. Minimal changes were necessary in the previous patch as the canonical type for both VLA and VLS was the same (i.e. sizeless), except in constructs such as globals and structs where sizeless types are unsupported. This patch reverts the changes that permitted VLS types that were represented as sizeless types in such circumstances, and adds support for implicit casting between VLA <-> VLS types as described in section 3.7.3.2 of the ACLE. Since the SVE builtin types for bool and uint8 are both represented as BuiltinType::UChar in VLSTs, two new vector kinds are implemented to distinguish predicate and data vectors. [1] https://developer.arm.com/documentation/100987/latest Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D85736
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp')
0 files changed, 0 insertions, 0 deletions