[all-commits] [llvm/llvm-project] 9b38e2: [SystemZ] Fix C++ ABI for passing args of structs ...

Jonas Paulsson via All-commits all-commits at lists.llvm.org
Tue Apr 26 08:17:30 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9b38e2efa0f0c819ec696d13731ac1ce08f81930
      https://github.com/llvm/llvm-project/commit/9b38e2efa0f0c819ec696d13731ac1ce08f81930
  Author: Jonas Paulsson <paulsson at linux.vnet.ibm.com>
  Date:   2022-04-26 (Tue, 26 Apr 2022)

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

  Log Message:
  -----------
  [SystemZ] Fix C++ ABI for passing args of structs containing zero width bitfield.

A struct like { float a; int :0; } should per the SystemZ ABI be passed in a
GPR, but to match a bug in GCC it has been passed in an FPR (see 759449c).

GCC has now corrected the C++ ABI for this case, and this patch for clang
follows suit.

Reviewed By: Ulrich Weigand

Differential Revision: https://reviews.llvm.org/D122388




More information about the All-commits mailing list