[all-commits] [llvm/llvm-project] 80a1b9: [SystemZ ABI] Allow class types in GetSingleElemen...

Ulrich Weigand via All-commits all-commits at lists.llvm.org
Tue Jul 7 10:57:11 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 80a1b95b8e72674cef7efb39636dc73c248ae6f3
      https://github.com/llvm/llvm-project/commit/80a1b95b8e72674cef7efb39636dc73c248ae6f3
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2020-07-07 (Tue, 07 Jul 2020)

  Changed paths:
    M clang/lib/CodeGen/TargetInfo.cpp
    M clang/test/CodeGen/systemz-abi.c
    M clang/test/CodeGen/systemz-abi.cpp

  Log Message:
  -----------
  [SystemZ ABI] Allow class types in GetSingleElementType

The SystemZ ABI specifies that aggregate types with just a single
member of floating-point type shall be passed as if they were just
a scalar of that type.  This applies to both struct and class types
(but not unions).

However, the current ABI support code in clang only checks this
case for struct types, which means that for class types, generated
code does not adhere to the platform ABI.

Fixed by accepting both struct and class types in the
SystemZABIInfo::GetSingleElementType routine.




More information about the All-commits mailing list