[PATCH] D17213: [WebAssembly] Insert COPY_LOCAL between CopyToReg and FrameIndex DAG nodes

Derek Schuff via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 12 13:24:32 PST 2016


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

CopyToReg nodes don't support FrameIndex operands. Other targets select
the FI to some LEA-like instruction, but since we don't have that, we
need to insert some kind of instruction that can take an FI operand and
produces a value usable by CopyToReg (i.e. in a vreg). So insert a dummy
copy_local between Op and its FI operand. This results in a redundant
copy which we should optimize away later (maybe in the post-FI-lowering
peephole pass).

http://reviews.llvm.org/D17213

Files:
  lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
  lib/Target/WebAssembly/WebAssemblyISelLowering.h
  lib/Target/WebAssembly/known_gcc_test_failures.txt
  test/CodeGen/WebAssembly/userstack.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17213.47848.patch
Type: text/x-patch
Size: 5337 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160212/7a595229/attachment.bin>


More information about the llvm-commits mailing list