[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