Move replaceCongruentIVs into SCEVExapander and bias toward "expanded"
authorAndrew Trick <atrick@apple.com>
Tue, 11 Oct 2011 02:28:51 +0000 (02:28 +0000)
committerAndrew Trick <atrick@apple.com>
Tue, 11 Oct 2011 02:28:51 +0000 (02:28 +0000)
commit204494149b6f846e8f173f525b129f5508076049
treeb11301c696f341594215cf9edbbd1bdfcb9a4551
parentb58078be33d3b2ffece4f4f21aa26686bcc22930
Move replaceCongruentIVs into SCEVExapander and bias toward "expanded"
IVs.

Indvars previously chose randomly between congruent IVs. Now it will
bias the decision toward IVs that SCEVExpander likes to create. This
was not done to fix any problem, it's just a welcome side effect of
factoring code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141633 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/ScalarEvolutionExpander.h
lib/Analysis/ScalarEvolutionExpander.cpp
lib/Transforms/Scalar/IndVarSimplify.cpp
test/Transforms/IndVarSimplify/no-iv-rewrite.ll