https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79119
Andrew Pinski changed:
What|Removed |Added
See Also||https://gcc.gnu.org/bugzill
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79119
--- Comment #4 from Andrew Pinski ---
Hmm:
# RANGE [irange] long unsigned int [0,
2305843009213693951][16140901064495857664, +INF]
iftmp.0_7 = (long unsigned intD.10) _19;
if (iftmp.0_7 > 2305843009213693951)
So that is _19 < 0 If I read
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79119
--- Comment #3 from Andrew Pinski ---
So a couple of things need to happen really:
optimized now:
if (p_10 < q_12)
goto ; [50.00%]
else
goto ; [50.00%]
[local count: 536870913]:
_3 = _22 - _21;
_4 = _3 /[ex] 4;
iftmp.0_14 =
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79119
--- Comment #2 from Marc Glisse ---
With POINTER_DIFF_EXPR, things may be easier. One of the things I suggested
when introducing it was that VRP could always use a range of [ -PTRDIFF_MAX,
PTRDIFF_MAX ] for them. If you had written
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79119
Richard Biener changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79119
Martin Sebor changed:
What|Removed |Added
Keywords||missed-optimization