[PATCH] D70228: [LoopDataPrefetch + SystemZ] Let target decide on prefetching on a per loop basis
Jonas Paulsson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 31 03:51:58 PDT 2020
jonpa updated this revision to Diff 253826.
jonpa marked 4 inline comments as done.
jonpa added a comment.
Thanks for review! Patch updated.
> @greened is looking into generating the prefetcher properties using tblgen (D58736 <https://reviews.llvm.org/D58736>). Would this be compatible with that approach?
I see that his patch is as well adding the option to specify write-prefetching per default, so that is a common goal. From what I can see that patch doesn't have any other functional changes to LoopDataPrefetch, so it seems complimentary. Personally, I do think that there is a need to do tuning in C++ for a given target, like my patch here for SystemZ - I am not sure if greened is aiming to generalize cache systems and in the future implement some kind of common heuristics for all? I would hope then that it would still be possible for each target to make its own decisions. I have a feeling that these systems are so complex that they are not quite predictable with generalized parameters.
> Unfortunely, I don't have experience with prefetching in the lbm benchmark.
It goes over a huge memory array with both loads and stores. Enabling store prefetching on it seems like a good idea on any architecture...
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D70228/new/
https://reviews.llvm.org/D70228
Files:
llvm/include/llvm/Analysis/TargetTransformInfo.h
llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
llvm/include/llvm/CodeGen/BasicTTIImpl.h
llvm/include/llvm/MC/MCSubtargetInfo.h
llvm/lib/Analysis/TargetTransformInfo.cpp
llvm/lib/MC/MCSubtargetInfo.cpp
llvm/lib/Target/AArch64/AArch64Subtarget.h
llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
llvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp
llvm/test/CodeGen/SystemZ/prefetch-02.ll
llvm/test/CodeGen/SystemZ/prefetch-03.ll
llvm/test/CodeGen/SystemZ/prefetch-04.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70228.253826.patch
Type: text/x-patch
Size: 29495 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200331/52eaae99/attachment-0001.bin>
More information about the llvm-commits
mailing list