------- Comment #14 from pinskia at gcc dot gnu dot org 2010-01-03 07:10 ------- If we manually do the SRA like SRA would do it in 4.4: unsigned char *a, *b, *c; a = sptr->curr; b = sptr->base; c = sptr->last_plus_one; a +=4294967295U; sptr->curr = a; sptr->base = b; sptr->last_plus_one = c;
We get the behavior you want. This is why I said this is all interrelated. PRE is able to remove the stores at the tree level on the trunk which then it looks like what I showed in comment #3. Again this is all the same issue really. And there is no need to file more bugs about the same issue. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42586