llvm-project/llvm/lib/Target/NVPTX
Artem Belevich 50c7504a93 [NVPTX] Avoid temp copy of byval kernel parameters.
Avoid making a temporary copy of byval argument if all accesses are loads and
therefore the pointer to the parameter can not escape.

This avoids excessive global memory accesses when each kernel makes its own
copy.

Differential revision: https://reviews.llvm.org/D98469
2021-03-15 14:27:22 -07:00
..
MCTargetDesc [AsmWriter] Factor out mnemonic generation to accessible getMnemonic. 2020-11-17 09:47:38 +00:00
TargetInfo llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
CMakeLists.txt llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
ManagedStringPool.h
NVPTX.h [NewPM][NVPTX] Port NVPTX opt passes 2021-01-07 15:12:35 -08:00
NVPTX.td [CUDA, NVPTX] Allow targeting sm_86 GPUs. 2021-02-09 11:01:10 -08:00
NVPTXAllocaHoisting.cpp
NVPTXAllocaHoisting.h
NVPTXAsmPrinter.cpp Do not construct std::string from nullptr 2020-11-05 15:23:26 -08:00
NVPTXAsmPrinter.h
NVPTXAssignValidGlobalNames.cpp
NVPTXFrameLowering.cpp [SVE] Return StackOffset for TargetFrameLowering::getFrameIndexReference. 2020-11-05 11:02:18 +00:00
NVPTXFrameLowering.h [SVE] Return StackOffset for TargetFrameLowering::getFrameIndexReference. 2020-11-05 11:02:18 +00:00
NVPTXGenericToNVVM.cpp
NVPTXISelDAGToDAG.cpp [llvm] Use the default value of drop_begin (NFC) 2021-01-18 10:16:36 -08:00
NVPTXISelDAGToDAG.h
NVPTXISelLowering.cpp [llvm][nvptx] add atomicity to counter in ISelLowering 2021-01-19 10:20:20 +01:00
NVPTXISelLowering.h [llvm][nvptx] add atomicity to counter in ISelLowering 2021-01-19 10:20:20 +01:00
NVPTXImageOptimizer.cpp
NVPTXInstrFormats.td [NVPTX] [TableGen] Use new features of TableGen to simplify and clarify. 2020-11-06 09:20:19 -05:00
NVPTXInstrInfo.cpp
NVPTXInstrInfo.h
NVPTXInstrInfo.td [NVPTX] [TableGen] Use new features of TableGen to simplify and clarify. 2020-11-06 09:20:19 -05:00
NVPTXIntrinsics.td [TableGen] Continue cleaning up .td files 2021-01-01 10:21:02 -05:00
NVPTXLowerAggrCopies.cpp
NVPTXLowerAggrCopies.h
NVPTXLowerAlloca.cpp
NVPTXLowerArgs.cpp [NVPTX] Avoid temp copy of byval kernel parameters. 2021-03-15 14:27:22 -07:00
NVPTXMCExpr.cpp
NVPTXMCExpr.h
NVPTXMachineFunctionInfo.h
NVPTXPeephole.cpp
NVPTXPrologEpilogPass.cpp Reapply "[DebugInfo] Add new instruction and DIExpression operator for variadic debug values" 2021-03-05 12:32:05 +00:00
NVPTXProxyRegErasure.cpp
NVPTXRegisterInfo.cpp
NVPTXRegisterInfo.h
NVPTXRegisterInfo.td [NVPTX] [TableGen] Use new features of TableGen to simplify and clarify. 2020-11-06 09:20:19 -05:00
NVPTXReplaceImageHandles.cpp
NVPTXSubtarget.cpp
NVPTXSubtarget.h
NVPTXTargetMachine.cpp [NVPTX][NewPM] Re-enable NVVMReflectPass 2021-02-08 13:58:17 -08:00
NVPTXTargetMachine.h [NewPM][NVPTX] Port NVPTX opt passes 2021-01-07 15:12:35 -08:00
NVPTXTargetObjectFile.h
NVPTXTargetTransformInfo.cpp
NVPTXTargetTransformInfo.h
NVPTXUtilities.cpp
NVPTXUtilities.h
NVVMIntrRange.cpp [NewPM][NVPTX] Port NVPTX opt passes 2021-01-07 15:12:35 -08:00
NVVMReflect.cpp [NewPM][NVPTX] Port NVPTX opt passes 2021-01-07 15:12:35 -08:00
cl_common_defines.h