[PATCH] D40023: [RISCV] Implement ABI lowering

Alex Bradbury via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jan 12 05:53:36 PST 2018


asb updated this revision to Diff 129607.
asb marked 9 inline comments as done.
asb added a comment.
Herald added a subscriber: niosHD.

I've addressed all outstanding comments (a number of response are inline).

Additionally:

Floats in unions are always passed in GPRs (as clarified here <https://github.com/riscv/riscv-elf-psabi-doc/issues/24> and here <https://github.com/riscv/riscv-elf-psabi-doc/pull/67>. However this patch is only concerned with the soft-float ABI, so the clarification doesn't directly affect us.

I've added tests for _Bool and empty structs and unions. GCC ignores empty structs and unions (it previously didn't mention unions but this PR <https://github.com/riscv/riscv-elf-psabi-doc/pull/67> will clarify).

I've pinged the issue <https://github.com/riscv/riscv-elf-psabi-doc/issues/20> on the ABI documentation repo regarding bit fields, hopefully one of the GCC developers can comment to clarify what they're doing. I'd hope we can return to bitfields in a follow-on patch.


https://reviews.llvm.org/D40023

Files:
  lib/CodeGen/CGCall.cpp
  lib/CodeGen/TargetInfo.cpp
  test/CodeGen/riscv32-abi.c
  test/CodeGen/riscv64-abi.c
  test/Driver/riscv32-toolchain.c
  test/Driver/riscv64-toolchain.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D40023.129607.patch
Type: text/x-patch
Size: 48849 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180112/776580aa/attachment-0001.bin>


More information about the cfe-commits mailing list