[PATCH] D11774: [NVPTX] Use LDG for pointer induction variables
Bjarke Hammersholt Roune
broune at google.com
Wed Aug 5 11:33:30 PDT 2015
broune created this revision.
broune added reviewers: jholewinski, jingyue.
broune added subscribers: llvm-commits, meheff, eliben.
Herald added a subscriber: jholewinski.
Make NVPTXISelDAGToDAG able to emit cached loads (LDG) for pointer induction variables.
Also fix latent bug where LDG was not restricted to kernel functions. I believe that this could not be triggered so far since we do not currently infer that a pointer is global outside a kernel function, and only loads of global pointers are considered for cached loads.
This brings a 30% performance gain on some eigen3-based Google-internal CUDA benchmarks, where LLVM introduces a pointer induction variable and then previously couldn't use LDG.
http://reviews.llvm.org/D11774
Files:
lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
test/CodeGen/NVPTX/load-with-non-coherent-cache.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11774.31382.patch
Type: text/x-patch
Size: 4653 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150805/abcfa2a8/attachment.bin>
More information about the llvm-commits
mailing list