Handle resolvable branches in complete loop unroll heuristic.
authorMichael Zolotukhin <mzolotukhin@apple.com>
Fri, 24 Jul 2015 01:53:04 +0000 (01:53 +0000)
committerMichael Zolotukhin <mzolotukhin@apple.com>
Fri, 24 Jul 2015 01:53:04 +0000 (01:53 +0000)
commitfc561accb7b9695672a97b95838dc56041f4d05e
tree38f4f564937ea937b3e3832931adaa38eac57758
parent0f720d984f419c747709462f7476dff962c0bc41
Handle resolvable branches in complete loop unroll heuristic.

Summary:
Resolving a branch allows us to ignore blocks that won't be executed, and thus make our estimate more accurate.
This patch is intended to be applied after D10205 (though it could be applied independently).

Reviewers: chandlerc

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243084 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/LoopUnrollPass.cpp
test/Transforms/LoopUnroll/full-unroll-heuristics-cmp.ll [new file with mode: 0644]