OSDN Git Service

[NVPTX] kernel pointer arguments point to the global address space
authorJingyue Wu <jingyue@google.com>
Thu, 4 Jun 2015 20:19:38 +0000 (20:19 +0000)
committerJingyue Wu <jingyue@google.com>
Thu, 4 Jun 2015 20:19:38 +0000 (20:19 +0000)
commit81fb217d91909d57cd2d463491a2fcdf43764e7c
tree6f1ec17078f553ecfab4591ceaef5165f45adfd0
parent5400980e1ed426a339073ed4e1ee48863a682a61
[NVPTX] kernel pointer arguments point to the global address space

Summary:
With this patch, NVPTXLowerKernelArgs converts a kernel pointer argument to a
pointer in the global address space. This change, along with
NVPTXFavorNonGenericAddrSpaces, allows the NVPTX backend to emit ld.global.*
and st.global.* for accessing kernel pointer arguments.

Minor changes:
1. refactor: extract function convertToPointerInAddrSpace
2. fix a bug in the test case in bug21465.ll

Test Plan: lower-kernel-ptr-arg.ll

Reviewers: eliben, meheff, jholewinski

Reviewed By: jholewinski

Subscribers: wengxt, jholewinski, llvm-commits

Differential Revision: http://reviews.llvm.org/D10154

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239082 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/NVPTX/CMakeLists.txt
lib/Target/NVPTX/NVPTX.h
lib/Target/NVPTX/NVPTXLowerKernelArgs.cpp [new file with mode: 0644]
lib/Target/NVPTX/NVPTXLowerStructArgs.cpp [deleted file]
lib/Target/NVPTX/NVPTXTargetMachine.cpp
test/CodeGen/NVPTX/bug21465.ll
test/CodeGen/NVPTX/call-with-alloca-buffer.ll
test/CodeGen/NVPTX/lower-kernel-ptr-arg.ll [new file with mode: 0644]
test/CodeGen/NVPTX/pr13291-i1-store.ll
test/CodeGen/NVPTX/surf-read-cuda.ll
test/CodeGen/NVPTX/tex-read-cuda.ll