freebsd-dev/contrib/llvm-project
Dimitry Andric e86cf8ada1 Merge commit 4ca2cad94 from llvm git (by Justin Hibbits):
[PowerPC] Add clang -msvr4-struct-return for 32-bit ELF

  Summary:

  Change the default ABI to be compatible with GCC. For 32-bit ELF
  targets other than Linux, Clang now returns small structs in
  registers r3/r4. This affects FreeBSD, NetBSD, OpenBSD. There is no
  change for 32-bit Linux, where Clang continues to return all structs
  in memory.

  Add clang options -maix-struct-return (to return structs in memory)
  and -msvr4-struct-return (to return structs in registers) to be
  compatible with gcc. These options are only for PPC32; reject them on
  PPC64 and other targets. The options are like -fpcc-struct-return and
  -freg-struct-return for X86_32, and use similar code.

  To actually return a struct in registers, coerce it to an integer of
  the same size. LLVM may optimize the code to remove unnecessary
  accesses to memory, and will return i32 in r3 or i64 in r3:r4.

  Fixes PR#40736

  Patch by George Koehler!

  Reviewed By: jhibbits, nemanjai
  Differential Revision: https://reviews.llvm.org/D73290

Requested by:	jhibbits
MFC after:	3 days
2020-05-06 19:10:39 +00:00
..
clang Merge commit 4ca2cad94 from llvm git (by Justin Hibbits): 2020-05-06 19:10:39 +00:00
compiler-rt Merge ^/vendor/llvm-project/release-10.x up to its last change (upstream 2020-02-27 19:04:39 +00:00
libcxx Merge commit 585a3cc31 from llvm git (by me): 2020-03-18 20:50:30 +00:00
libunwind Merge commit 221c5af4e from llvm git (by Nico Weber): 2020-02-15 15:03:26 +00:00
lld Merge commit 315f8a55f from llvm git (by Fangrui Song): 2020-03-18 20:38:15 +00:00
lldb lldb: use lua as the default script language 2020-04-02 21:08:28 +00:00
llvm In r358396 I merged llvm upstream commit 2e24219d3, which fixed "error: 2020-05-06 18:13:00 +00:00
openmp Merge ^/vendor/lvm-project/master up to its last change (upstream commit 2020-01-24 22:00:03 +00:00
FREEBSD-Xlist lldb: stop excluding bindings/ subdir 2020-04-01 13:18:01 +00:00