[PATCH] D34708: [NVPTX] Allow to make libcalls that are defined in the current module.

Denys Zariaiev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 19 15:08:04 PST 2018


denzp updated this revision to Diff 178971.
denzp added a comment.

@tra Thank you, I've addressed the mentioned issues.

You are right, the implementation is more reliable when `ProxyReg` produces a correct PTX assembly even when it's still present.

Also, I noticed missing function declarations for libcall implementors. I didn't find a common way how to dynamically add "usage" to implementors, so I ended up assigning `nvptx-libcall-callee` attribute and then forcefully emitting declarations in `NVPTXAsmPrinter`.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D34708/new/

https://reviews.llvm.org/D34708

Files:
  include/llvm/CodeGen/SelectionDAG.h
  lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  lib/Target/NVPTX/CMakeLists.txt
  lib/Target/NVPTX/NVPTX.h
  lib/Target/NVPTX/NVPTXAsmPrinter.cpp
  lib/Target/NVPTX/NVPTXISelLowering.cpp
  lib/Target/NVPTX/NVPTXISelLowering.h
  lib/Target/NVPTX/NVPTXInstrInfo.td
  lib/Target/NVPTX/NVPTXProxyRegErasure.cpp
  lib/Target/NVPTX/NVPTXTargetMachine.cpp
  test/CodeGen/NVPTX/calls-with-phi.ll
  test/CodeGen/NVPTX/libcall-fulfilled.ll
  test/CodeGen/NVPTX/libcall-instruction.ll
  test/CodeGen/NVPTX/libcall-intrinsic.ll
  test/CodeGen/NVPTX/zero-cs.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D34708.178971.patch
Type: text/x-patch
Size: 17063 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181219/8a681073/attachment.bin>


More information about the llvm-commits mailing list