summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDeclCXX.cpp
diff options
context:
space:
mode:
authorAnna Thomas <anna@azul.com>2017-09-15 15:56:05 +0000
committerAnna Thomas <anna@azul.com>2017-09-15 15:56:05 +0000
commitf34537dff8e75704d699bca7b6a03a6949c50c61 (patch)
tree1bce1f2a1f1c129bec553c01dfe64f76edef298a /clang/lib/Sema/SemaDeclCXX.cpp
parent557729761c5d4566da9b5ebe4a1463c3cd38caff (diff)
downloadbcm5719-llvm-f34537dff8e75704d699bca7b6a03a6949c50c61.tar.gz
bcm5719-llvm-f34537dff8e75704d699bca7b6a03a6949c50c61.zip
[RuntimeUnroll] Add heuristic for unrolling multi-exit loop
Add a profitability heuristic to enable runtime unrolling of multi-exit loop: There can be atmost two unique exit blocks for the loop and the second exit block should be a deoptimizing block. Also, there can be one other exiting block other than the latch exiting block. The reason for the latter is so that we limit the number of branches in the unrolled code to being at most the unroll factor. Deoptimizing blocks are rarely taken so these additional number of branches created due to the unrolling are predictable, since one of their target is the deopt block. Reviewers: apilipenko, reames, evstupac, mkuper Subscribers: llvm-commits Reviewed by: reames Differential Revision: https://reviews.llvm.org/D35380 llvm-svn: 313363
Diffstat (limited to 'clang/lib/Sema/SemaDeclCXX.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud