[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