Teach ScalarEvolution how to analyze loops with multiple exit
authorDan Gohman <gohman@apple.com>
Mon, 22 Jun 2009 00:31:57 +0000 (00:31 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 22 Jun 2009 00:31:57 +0000 (00:31 +0000)
commita334aa7a106d5ebb971862f25daaadad48d96235
treeadfcef050df75b45f550d208d488f07050221ae2
parent743ab498d8cc4e828c79a68a6184eb8aeb95b4a1
Teach ScalarEvolution how to analyze loops with multiple exit
blocks, and also exit blocks with multiple conditions (combined
with (bitwise) ands and ors). It's often infeasible to compute an
exact trip count in such cases, but a useful upper bound can often
be found.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73866 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/ScalarEvolution.h
lib/Analysis/ScalarEvolution.cpp
test/Analysis/ScalarEvolution/trip-count5.ll [new file with mode: 0644]