]> granicus.if.org Git - llvm/commit
[Loop Peeling] Introduce an option for profile based peeling disabling.
authorSerguei Katkov <serguei.katkov@azul.com>
Fri, 2 Aug 2019 09:32:52 +0000 (09:32 +0000)
committerSerguei Katkov <serguei.katkov@azul.com>
Fri, 2 Aug 2019 09:32:52 +0000 (09:32 +0000)
commit3b859eaf517b490f8e4ef5f7575ee884afd2fe5d
tree915aef8019b25029bccb7f6016586560866a5eb7
parent51e75e563c7d3333a3828c1d0cb164416f680ad8
[Loop Peeling] Introduce an option for profile based peeling disabling.

This patch adds an ability to disable profile based peeling
causing the peeling of all iterations 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.

Reviewers: reames, fhahn
Reviewed By: reames
Subscribers: hiraditya, zzheng, dmgreen, llvm-commits
Differential Revision: https://reviews.llvm.org/D64983

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@367668 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Transforms/Scalar/LoopUnrollPass.h
include/llvm/Transforms/Utils/UnrollLoop.h
lib/Passes/PassBuilder.cpp
lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
lib/Transforms/Scalar/LoopUnrollPass.cpp
test/Transforms/LoopUnroll/peel-loop-pgo-deopt.ll