aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
diff options
context:
space:
mode:
authorArtem Belevich <tra@google.com>2016-06-21 20:30:26 +0000
committerArtem Belevich <tra@google.com>2016-06-21 20:30:26 +0000
commitd7ebcfb29167c297b963116408c1b2d3bb97deae (patch)
tree3380d466b909fb54080fce2d3c50ab9e748411e5 /llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
parent4a05bb8d8db64eedca81dea4493cae59d9c78d75 (diff)
downloadllvm-d7ebcfb29167c297b963116408c1b2d3bb97deae.zip
llvm-d7ebcfb29167c297b963116408c1b2d3bb97deae.tar.gz
llvm-d7ebcfb29167c297b963116408c1b2d3bb97deae.tar.bz2
[NVPTX] Improve lowering of byval args of device functions.
Avoid unnecessary spills of such vars to local space on SASS level and pointer space conversion. Instead, make a local copy with appropriate addrspacecasts and let LLVM optimize them away when possible. This allows loading value of the argument using [symbol+offset] instead of converting argument to general space pointer and using it for indexing (which also implicitly converts param space pointer to local space one on SASS level and triggers copying of argument into local space in the process). This reduces call overhead, uses less registers and reduces overall SASS size by 2-4%. Differential Review: http://reviews.llvm.org/D21421 llvm-svn: 273313
Diffstat (limited to 'llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp')
0 files changed, 0 insertions, 0 deletions