[PATCH] D25963: [LoopUnroll] Implement profile-based loop peeling

Michael Kuperstein via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 27 17:50:52 PDT 2016


mkuper updated this revision to Diff 76148.
mkuper marked 19 inline comments as done.
mkuper added a comment.
Herald added a subscriber: anna.

Updated per David's comments.

David, after some more thought, I think your analysis was right - so I used a narrower distribution. You can see the result for a 3-iteration peeling in the pgo test. Let me know if you think it makes sense.
Also I repurposed getPeelCount to be self-contained in terms of selecting the factor, but it led to a bit of ugliness, not sure if this is better or worse than the original.


https://reviews.llvm.org/D25963

Files:
  include/llvm/Analysis/TargetTransformInfo.h
  include/llvm/Transforms/Utils/LoopUtils.h
  include/llvm/Transforms/Utils/UnrollLoop.h
  lib/Transforms/Scalar/LoopUnrollPass.cpp
  lib/Transforms/Utils/CMakeLists.txt
  lib/Transforms/Utils/LoopUnroll.cpp
  lib/Transforms/Utils/LoopUnrollPeel.cpp
  lib/Transforms/Utils/LoopUtils.cpp
  test/Transforms/LoopUnroll/peel-loop-pgo.ll
  test/Transforms/LoopUnroll/peel-loop.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D25963.76148.patch
Type: text/x-patch
Size: 33727 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161028/8d9c4b26/attachment.bin>


More information about the llvm-commits mailing list