OSDN Git Service

[ARM] Allow unrolling of multi-block loops.
authorSam Parker <sam.parker@arm.com>
Mon, 23 Oct 2017 08:05:14 +0000 (08:05 +0000)
committerSam Parker <sam.parker@arm.com>
Mon, 23 Oct 2017 08:05:14 +0000 (08:05 +0000)
commitdc1f81fb5546081a1c95683a0c1a41dd7fec40af
treeda3471eb04beacc519da4b86e749d8f5819b77d4
parentd35a2569ffcc3dc6802824b4dc35eaa0202ae60e
[ARM] Allow unrolling of multi-block loops.

Before, loop unrolling was only enabled for loops with a single
block. This restriction has been removed and replaced by:
- allow a maximum of two exiting blocks,
- a four basic block limit for cores with a branch predictor.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316313 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMTargetTransformInfo.cpp
test/Transforms/LoopUnroll/ARM/multi-blocks.ll [new file with mode: 0644]