the wrap_around_unsafe flag is supposed to be used to guard that.
Also, it is supposed to be turn off for O3, as I recall
sun

On Wed, Sep 22, 2010 at 4:57 AM, Dror Maydan <may...@tensilica.com> wrote:
> We ran into the following bug.
>
> int a[1024];
> void r(unsigned int n)
> {
>  unsigned int i,j;
>  for (i=0; i<n; i++) {
>  for (j=0; j<n; j++) {
>        a[i]++;
>  }
>  }
> }
>
>
> At -O3, LNO outer unrolls the outer loop by setting the bound to
> "i<n-u+1", creating an infinite loop whenever "n" is less than the
> unroll factor.  My memory is faded, but I thought it wasn't supposed to
> do that for unsigned loops.  From a quick scan of the code, I didn't
> find anything that checks.  Anyone have experience with this or a better
> recollection than I do?
>
> Dror
>
> ------------------------------------------------------------------------------
> Start uncovering the many advantages of virtual appliances
> and start using them to simplify application deployment and
> accelerate your shift to cloud computing.
> http://p.sf.net/sfu/novell-sfdev2dev
> _______________________________________________
> Open64-devel mailing list
> Open64-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/open64-devel
>

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to