[all-commits] [llvm/llvm-project] 9df3e8: [LLVMAABI][AARCH64] Handle homogeneous aggregate r...
Andy Kaylor via All-commits
all-commits at lists.llvm.org
Wed Sep 16 09:56:01 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 9df3e81cb2eefa2559eb9989bfdbd475dc23d0a2
https://github.com/llvm/llvm-project/commit/9df3e81cb2eefa2559eb9989bfdbd475dc23d0a2
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/AArch64/abi-classify-return-types.c
A clang/test/CodeGen/AArch64/abi-classify-return-types.cpp
M llvm/include/llvm/ABI/TargetInfo.h
M llvm/lib/ABI/TargetInfo.cpp
M llvm/lib/ABI/Targets/AArch64.cpp
M llvm/lib/ABI/Targets/BPF.cpp
M llvm/lib/ABI/Targets/X86.cpp
M llvm/unittests/ABI/AArch64TargetInfoTest.cpp
Log Message:
-----------
[LLVMAABI][AARCH64] Handle homogeneous aggregate return types (#218799)
This change implements the IsHomogenousAggregate() function, which is
shared across targets, and uses it to implement direct passthrough of
return values that meet the homogeneous aggregate criteria.
I'm also adding a new AArch64ABIOptions object that will be used to
track various conditions that are derived from target settings and must
be accounted for in the ABI handling. This change adds only two options,
IsILP32 and IsMicrosoftCXXABI. Other options are expected and will be
added as they are needed.
This change also revises the not-yet-implemented cases, having them
return Ignore rather than Direct so that they fail in more obvious ways.
This was necessary in order to be able to distinguish a return type that
was classified as Direct because it was a homogeneous aggregate from one
that was classified as Direct because it was an unhandled type.
Assisted-by: Cursor / various models
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list