OSDN Git Service

[NVPTX] Added a feature to use short pointers for const/local/shared AS.
authorArtem Belevich <tra@google.com>
Wed, 9 May 2018 23:46:19 +0000 (23:46 +0000)
committerArtem Belevich <tra@google.com>
Wed, 9 May 2018 23:46:19 +0000 (23:46 +0000)
commit2f825676aaf33d4fb39e696b15cfc7d007edb6ae
treefcc46f045f8b8c6d230f9897c82d01d0b38af7a5
parent6889537ce7bd0ac5a1042634a15e75473b3b3f75
[NVPTX] Added a feature to use short pointers for const/local/shared AS.

Const/local/shared address spaces are all < 4GB and we can always use
32-bit pointers to access them. This has substantial performance impact
on kernels that uses shared memory for intermediary results.

The feature is disabled by default.

Differential Revision: https://reviews.llvm.org/D46147

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@331941 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
lib/Target/NVPTX/NVPTXISelDAGToDAG.h
lib/Target/NVPTX/NVPTXISelLowering.cpp
lib/Target/NVPTX/NVPTXInstrInfo.td
lib/Target/NVPTX/NVPTXIntrinsics.td
lib/Target/NVPTX/NVPTXSubtarget.h
lib/Target/NVPTX/NVPTXTargetMachine.cpp
lib/Target/NVPTX/NVPTXTargetMachine.h
test/CodeGen/NVPTX/addrspacecast.ll
test/CodeGen/NVPTX/ld-addrspace.ll
test/CodeGen/NVPTX/st-addrspace.ll