[Bug tree-optimization/68529] scev failed for while(i--)
rguenther at suse dot de
gcc-bugzilla@gcc.gnu.org
Wed Nov 25 11:34:00 GMT 2015
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.
More information about the Gcc-bugs
mailing list