[PATCH] D64983: [Loop Peeling] Introduce an option for full peeling disabling

Serguei Katkov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 19 02:35:06 PDT 2019


skatkov created this revision.
skatkov added reviewers: reames, fhahn.
Herald added subscribers: dmgreen, zzheng, hiraditya.
Herald added a project: LLVM.

This patch adds an ability to disable profile based peeling 
causing the full peeling and as a result prohibits further unroll/peeling
attempts on that loop.

The motivation to get an ability to separate peeling usage in
pipeline where in the first part we peel only separate iterations if needed
and later in pipeline we apply the full peeling which will prohibit further peeling.


https://reviews.llvm.org/D64983

Files:
  llvm/include/llvm/Transforms/Scalar/LoopUnrollPass.h
  llvm/include/llvm/Transforms/Utils/UnrollLoop.h
  llvm/lib/Passes/PassBuilder.cpp
  llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
  llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
  llvm/test/Transforms/LoopUnroll/peel-loop-pgo-deopt.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64983.210782.patch
Type: text/x-patch
Size: 9483 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190719/0284b341/attachment.bin>


More information about the llvm-commits mailing list