------- Comment #13 from spop at gcc dot gnu dot org 2010-03-05 09:39 ------- We build these scevs because chrec_fold_multiply and chrec_fold_plus do not correctly handle conversions: op0 = (integer(kind=4)) {0, +, 1}_4 is considered non variating in any loop, and thus when op0 gets added to op1 = {0, +, 1}_1, the result is: {(integer(kind=4)) {0, +, 1}_4, +, 1}_1 that has no defined semantics.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42326