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