OSDN Git Service

The patch turns on epilogue unroll for loops with constant recurency start.
authorEvgeny Stupachenko <evstupac@gmail.com>
Thu, 2 Mar 2017 17:38:46 +0000 (17:38 +0000)
committerEvgeny Stupachenko <evstupac@gmail.com>
Thu, 2 Mar 2017 17:38:46 +0000 (17:38 +0000)
commitc40a2f9b2a0a76c1cc10f96deba6b19074c02c4b
treea78462215dd41b90beadf9472dfe534dbaf6ded5
parentd541a8113c21b3ce4d5fdb304c16355140361383
The patch turns on epilogue unroll for loops with constant recurency start.
Summary:

Set unroll remainder to epilog if a loop contains a phi with constant parameter:

  loop:
  pn = phi [Const, PreHeader], [pn.next, Latch]
  ...

Reviewer: hfinkel

Differential Revision: http://reviews.llvm.org/D27004

From: Evgeny Stupachenko <evstupac@gmail.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@296770 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Utils/LoopUnroll.cpp
test/Transforms/LoopUnroll/revisit.ll
test/Transforms/LoopUnroll/runtime-loop5.ll
test/Transforms/LoopUnroll/unroll-heuristics-pgo.ll
test/Transforms/LoopUnroll/unroll-pragmas.ll