[PATCH] D66978: [CodeGen] Fix lowering for returning the result of an extractvalue

Dan Gohman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 29 15:32:22 PDT 2019


sunfish created this revision.
sunfish added a reviewer: tlively.
Herald added subscribers: aheejin, jgravelle-google, sbc100, dschuff.
Herald added a project: LLVM.

When the number of return values exceeds the number of registers available, `SelectionDAGBuilder::visitRet` transforms a function's return to use a pointer to a buffer to hold return values. When the returned value is an operator such as `extractvalue`, the value may have a non-zero result number. Add that number to the indexing when obtaining the values to store.

This fixes https://bugs.llvm.org/show_bug.cgi?id=43132.


Repository:
  rL LLVM

https://reviews.llvm.org/D66978

Files:
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  test/CodeGen/WebAssembly/multi-return.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D66978.217985.patch
Type: text/x-patch
Size: 8777 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190829/a20fc3d5/attachment.bin>


More information about the llvm-commits mailing list