[PATCH] D21421: [NVPTX] Improve lowering of byval args of device functions.

Artem Belevich via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 18 16:58:11 PDT 2016


tra updated this revision to Diff 64422.
tra added a comment.
This revision is now accepted and ready to land.

ptxas bug workaround has been committed separately, so now it's purely an optimization.

Now byval arguments are handled the same way for both __global__ and __device__ functions:

- NVPTXLowerKernelArgs pass creates local copy which is addrspacecast'ed to param space.
- LowerFormalArguemts lowers them to MoveParams(param_symbol)
- SelectDirectAddr() recognizes addrspacecast([0->101] MoveParam(arg_symbol)) created above and returns arg_symbol.


https://reviews.llvm.org/D21421

Files:
  lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
  lib/Target/NVPTX/NVPTXISelLowering.cpp
  lib/Target/NVPTX/NVPTXLowerKernelArgs.cpp
  test/CodeGen/NVPTX/bug21465.ll
  test/CodeGen/NVPTX/lower-kernel-ptr-arg.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21421.64422.patch
Type: text/x-patch
Size: 7129 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160718/ec4f0ffa/attachment.bin>


More information about the llvm-commits mailing list