]> granicus.if.org Git - llvm/commit
[PM] Simplify the new PM interface to the loop unroller and expose two
authorChandler Carruth <chandlerc@gmail.com>
Thu, 26 Jan 2017 02:13:50 +0000 (02:13 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Thu, 26 Jan 2017 02:13:50 +0000 (02:13 +0000)
commit6d7e8f10e23b1f835051ead4cd181422df5f0dfd
treed93024eaa296a4c9196b54a157c2c5da659b7da2
parenta50ea04aad78f7e059d8675197a0a1703118f0a7
[PM] Simplify the new PM interface to the loop unroller and expose two
factory functions for the two modes the loop unroller is actually used
in in-tree: simplified full-unrolling and the entire thing including
partial unrolling.

I've also wired these up to nice names so you can express both of these
being in a pipeline easily. This is a precursor to actually enabling
these parts of the O2 pipeline.

Differential Revision: https://reviews.llvm.org/D28897

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@293136 91177308-0d34-0410-b5e6-96231b3b80d8
13 files changed:
include/llvm/Transforms/Scalar/LoopUnrollPass.h
lib/Passes/PassRegistry.def
lib/Transforms/Scalar/LoopUnrollPass.cpp
test/Transforms/LoopUnroll/full-unroll-bad-cost.ll
test/Transforms/LoopUnroll/full-unroll-crashers.ll
test/Transforms/LoopUnroll/full-unroll-heuristics-2.ll
test/Transforms/LoopUnroll/full-unroll-heuristics-cmp.ll
test/Transforms/LoopUnroll/full-unroll-heuristics-dce.ll
test/Transforms/LoopUnroll/full-unroll-heuristics-geps.ll
test/Transforms/LoopUnroll/full-unroll-heuristics-phi-prop.ll
test/Transforms/LoopUnroll/full-unroll-heuristics.ll
test/Transforms/LoopUnroll/full-unroll-keep-first-exit.ll
test/Transforms/LoopUnroll/partial-unroll-const-bounds.ll