[SCEV] Slightly generalize getRangeViaFactoring
authorSanjoy Das <sanjoy@playingwithpointers.com>
Wed, 9 Mar 2016 01:50:57 +0000 (01:50 +0000)
committerSanjoy Das <sanjoy@playingwithpointers.com>
Wed, 9 Mar 2016 01:50:57 +0000 (01:50 +0000)
commitd3488c6060efc5cc554c15d30917c25acf98eeaa
tree7b35cff62c53d1619e4aebd806b80ec216cc7e48
parent7c4a1a8d48c9c52a000d5d9b514cba3f8e1fff7b
[SCEV] Slightly generalize getRangeViaFactoring

This change generalizes ScalarEvolution::getRangeViaFactoring to work
with {Ext(C?A:B),+,Ext(C?A:B)} where Ext can be a zero extend, sign
extend or truncate operation.

llvm-svn: 262978
llvm/lib/Analysis/ScalarEvolution.cpp
llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll