[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