[Bug tree-optimization/68529] scev failed for while(i--)

amker at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Nov 25 11:39:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68529

amker at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |amker at gcc dot gnu.org

--- Comment #4 from amker at gcc dot gnu.org ---
(In reply to majun from comment #2)
> (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 ? 
Not very different to before actually.  Only scev now is more aggressive when
determining overflow-ness in type conversion.  It's still safe, the original
implementation is too conservative.

> 
> I see many type conversion in ev function,And I think this may casue
> vect/para failed for some loops.
This is kind of expected because scev now understands that some type conversion
doesn't introduce overflow, so it creates SCEV for it.

>  
> 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.
Please, I'd like to look into more cases where scev fails.

Thanks,
bin


More information about the Gcc-bugs mailing list