http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58742
--- Comment #19 from Richard Biener <rguenth at gcc dot gnu.org> ---
The original identity will remain. That is,
;; Function fx (fx, funcdef_no=0, decl_uid=1743, symbol_order=0)
fx (int * b, int * e)
{
long int e.0_2;
long int b.1_4;
long int _5;
long unsigned int _6;
int * _7;
<bb 2>:
e.0_2 = (long int) e_1(D);
b.1_4 = (long int) b_3(D);
_5 = e.0_2 - b.1_4;
_6 = (long unsigned int) _5;
_7 = b_3(D) + _6;
return _7;
}
that is to be pattern-matched separately, in associate_pointerplus. Of course
that's only a piece of associating as b+5+(e-b) will then still not be
optimized.