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
[email protected]
https://lists.sourceforge.net/lists/listinfo/open64-devel