llvm-6502/lib/Target/NVPTX
Jingyue Wu 81fb217d91 [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
2015-06-04 20:19:38 +00:00
..
InstPrinter Remove unused MCSubtargetInfo argument from the NVPTX MCInstPrinter ctors. 2015-03-30 22:03:16 +00:00
MCTargetDesc Replace string GNU Triples with llvm::Triple in MCAsmInfo subclasses and create*AsmInfo(). NFC. 2015-06-04 13:12:25 +00:00
TargetInfo
cl_common_defines.h
CMakeLists.txt [NVPTX] kernel pointer arguments point to the global address space 2015-06-04 20:19:38 +00:00
LLVMBuild.txt Update libdeps in NVPTXCodeGen, since r225944. 2015-01-14 23:01:36 +00:00
Makefile
ManagedStringPool.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTX.h [NVPTX] kernel pointer arguments point to the global address space 2015-06-04 20:19:38 +00:00
NVPTX.td [NVPTX] Associate a minimum PTX version for each SM architecture 2015-03-30 19:30:55 +00:00
NVPTXAllocaHoisting.cpp NVPTX: move NVPTXAllocaHoisting into the cpp file 2015-03-10 19:20:52 +00:00
NVPTXAllocaHoisting.h NVPTX: move NVPTXAllocaHoisting into the cpp file 2015-03-10 19:20:52 +00:00
NVPTXAsmPrinter.cpp Push constness through LoopInfo::isLoopHeader and clean it up a bit. 2015-06-02 15:28:27 +00:00
NVPTXAsmPrinter.h Remove 3 includes from MCInstrDesc.h and explicitly include them where needed 2015-05-15 21:58:42 +00:00
NVPTXAssignValidGlobalNames.cpp [PM] Remove the old 'PassManager.h' header file at the top level of 2015-02-13 10:01:29 +00:00
NVPTXFavorNonGenericAddrSpaces.cpp [NVPTXFavorNonGenericAddrSpaces] recursively trace into GEP and BitCast 2015-05-29 17:00:27 +00:00
NVPTXFrameLowering.cpp [ShrinkWrap] Add (a simplified version) of shrink-wrapping. 2015-05-05 17:38:16 +00:00
NVPTXFrameLowering.h [ShrinkWrap] Add (a simplified version) of shrink-wrapping. 2015-05-05 17:38:16 +00:00
NVPTXGenericToNVVM.cpp [opaque pointer type] More GEP IRBuilder API migrations... 2015-04-03 21:33:42 +00:00
NVPTXImageOptimizer.cpp [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
NVPTXInstrFormats.td [NVPTX] Add more surface/texture intrinsics, including CUDA unified texture fetch 2014-07-17 11:59:04 +00:00
NVPTXInstrInfo.cpp Remove all use of is64bit off of NVPTXSubtarget and clean up code 2015-02-19 00:08:27 +00:00
NVPTXInstrInfo.h Remove all use of is64bit off of NVPTXSubtarget and clean up code 2015-02-19 00:08:27 +00:00
NVPTXInstrInfo.td Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
NVPTXIntrinsics.td NVPTX: support direct f16 <-> f64 conversions via intrinsics. 2014-07-18 08:30:10 +00:00
NVPTXISelDAGToDAG.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
NVPTXISelDAGToDAG.h Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
NVPTXISelLowering.cpp Add address space argument to isLegalAddressingMode 2015-06-01 05:31:59 +00:00
NVPTXISelLowering.h Add address space argument to isLegalAddressingMode 2015-06-01 05:31:59 +00:00
NVPTXLowerAggrCopies.cpp Reduce dyn_cast<> to isa<> or cast<> where possible. 2015-04-10 11:24:51 +00:00
NVPTXLowerAggrCopies.h Move unreferenced passes into the cpp file 2015-03-09 15:50:58 +00:00
NVPTXLowerKernelArgs.cpp [NVPTX] kernel pointer arguments point to the global address space 2015-06-04 20:19:38 +00:00
NVPTXMachineFunctionInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTXMCExpr.cpp MC: Clean up MCExpr naming. NFC. 2015-05-30 01:25:56 +00:00
NVPTXMCExpr.h MC: Clean up MCExpr naming. NFC. 2015-05-30 01:25:56 +00:00
NVPTXPrologEpilogPass.cpp [ShrinkWrap] Add (a simplified version) of shrink-wrapping. 2015-05-05 17:38:16 +00:00
NVPTXRegisterInfo.cpp Have getCalleeSavedRegs take a non-null MachineFunction all the 2015-03-11 21:41:28 +00:00
NVPTXRegisterInfo.h Have getCalleeSavedRegs take a non-null MachineFunction all the 2015-03-11 21:41:28 +00:00
NVPTXRegisterInfo.td
NVPTXReplaceImageHandles.cpp Remove all use of getDrvInterface off of NVPTXSubtarget and clean 2015-02-19 00:08:23 +00:00
NVPTXSection.h Implement unique sections with an unique ID. 2015-04-04 18:02:01 +00:00
NVPTXSubtarget.cpp Remove all use of is64bit off of NVPTXSubtarget and clean up code 2015-02-19 00:08:27 +00:00
NVPTXSubtarget.h Remove all use of is64bit off of NVPTXSubtarget and clean up code 2015-02-19 00:08:27 +00:00
NVPTXTargetMachine.cpp [NVPTX] kernel pointer arguments point to the global address space 2015-06-04 20:19:38 +00:00
NVPTXTargetMachine.h Use raw_pwrite_stream in the object writer/streamer. 2015-04-14 22:14:34 +00:00
NVPTXTargetObjectFile.h Move alignment from MCSectionData to MCSection. 2015-05-21 19:20:38 +00:00
NVPTXTargetTransformInfo.cpp Divergence analysis for GPU programs 2015-04-10 05:03:50 +00:00
NVPTXTargetTransformInfo.h Divergence analysis for GPU programs 2015-04-10 05:03:50 +00:00
NVPTXUtilities.cpp Simplify boolean expressions with true and false using clang-tidy 2015-03-23 16:26:23 +00:00
NVPTXUtilities.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTXVector.td Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
NVVMReflect.cpp Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used. 2015-03-23 19:32:43 +00:00