[PATCH] D40805: [RISCV] Support for varargs

Alex Bradbury via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 4 14:21:26 PST 2017


asb created this revision.
Herald added subscribers: jordy.potman.lists, simoncook, johnrusso, rbar.

Includes support for expanding va_copy. Also adds support for using 'aligned' registers when necessary for vararg calls, and ensure the frame pointer always points to the bottom of the vararg spill region. This is necessary to ensure that the saved return address and stack pointer are always available at fixed known offsets of the frame pointer.

See https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md for calling convention documentation.


https://reviews.llvm.org/D40805

Files:
  lib/Target/RISCV/RISCVFrameLowering.cpp
  lib/Target/RISCV/RISCVISelLowering.cpp
  lib/Target/RISCV/RISCVISelLowering.h
  lib/Target/RISCV/RISCVMachineFunctionInfo.h
  test/CodeGen/RISCV/vararg.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D40805.125416.patch
Type: text/x-patch
Size: 33426 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171204/e39041ba/attachment-0001.bin>


More information about the llvm-commits mailing list