https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68529
--- Comment #3 from rguenther at suse dot de <rguenther at suse dot de> --- On Wed, 25 Nov 2015, majun4950646 at 163 dot com wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68529 > > --- Comment #2 from majun <majun4950646 at 163 dot com> --- > (In reply to Richard Biener from comment #1) > > Confirmed, mine. This happens because get_inner_reference converts nchar_14 > > to sizetype and thus we analyze the evolution of (uint64_t) nchar_14 which > > isn't affine unless we can prove nchar_14 will never wrap in its type > > (unsigned int). > > how does scev handle type conversion now ? Correctly, but not optimally in this case. > I see many type conversion in ev function,And I think this may casue vect/para > failed for some loops. One issue is that we ask SCEV about (uint64_t) nchar_14 in the first place (of course data-ref users expect DR_OFFSET to be of sizetype). This is an "artifact" of get_inner_reference. But as soon as you get a size multiplier != 1 you'd need the cast anyway. > I hit a parallel problem caused by scev type conversion handle in > spec2k6 410. for now I have no idea with this problem,I will open a new > bug to report this. Thanks.