diff options
author | Alexandros Lamprineas <alexandros.lamprineas@arm.com> | 2021-07-28 16:40:59 +0100 |
---|---|---|
committer | Alexandros Lamprineas <alexandros.lamprineas@arm.com> | 2021-07-31 09:51:28 +0100 |
commit | 29b263a34f1afbae9c95bf48eab7e8aac8132a80 (patch) | |
tree | b636f067b4f9664f250123195e08e79f44ce1e28 /llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | |
parent | fb09f365ae28920666ddfd466fb09b44b9cb7be1 (diff) | |
download | llvm-29b263a34f1afbae9c95bf48eab7e8aac8132a80.zip llvm-29b263a34f1afbae9c95bf48eab7e8aac8132a80.tar.gz llvm-29b263a34f1afbae9c95bf48eab7e8aac8132a80.tar.bz2 |
[Clang][AArch64] Inline assembly support for the ACLE type 'data512_t'
In LLVM IR terms the ACLE type 'data512_t' is essentially an aggregate
type { [8 x i64] }. When emitting code for inline assembly operands,
clang tries to scalarize aggregate types to an integer of the equivalent
length, otherwise it passes them by-reference. This patch adds a target
hook to tell whether a given inline assembly operand is scalarizable
so that clang can emit code to pass/return it by-value.
Differential Revision: https://reviews.llvm.org/D94098
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp')
0 files changed, 0 insertions, 0 deletions