[PATCH] D17048: [WebAssembly] Switch varags calling convention to use a register

Derek Schuff via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 9 15:16:40 PST 2016


dschuff created this revision.
dschuff added reviewers: sunfish, jfb.
dschuff added a subscriber: llvm-commits.
Herald added subscribers: dschuff, jfb.

Instead of passing varargs directly on the user stack, allocate a buffer in
the caller's stack frame and pass a pointer to it. This simplifies the C
ABI (e.g. non-C callers of C functions do not need to use C's user stack if
they have their own mechanism) and allows further optimizations in the future
(e.g. fewer functions may need to use the stack).

http://reviews.llvm.org/D17048

Files:
  lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp
  lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
  lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
  lib/Target/WebAssembly/known_gcc_test_failures.txt
  test/CodeGen/WebAssembly/varargs.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17048.47381.patch
Type: text/x-patch
Size: 14052 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160209/fc3b5e86/attachment-0001.bin>


More information about the llvm-commits mailing list