[Bug tree-optimization/88775] [8/9 Regression] Optimize std::string assignment

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Jan 10 10:36:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88775

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2019-01-10
     Ever confirmed|0                           |1

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #3)
>   _4 = _3 > "hello";
>   _5 = __builtin_constant_p (_4);
>   if (_5 != 0)
>     goto <bb 4>; [34.00%]
>   else
>     goto <bb 3>; [66.00%]
> 
>   <bb 3> [local count: 708669605]:
>   __x.5_6 = (long unsigned int) "hello";
>   __y.6_7 = (long unsigned int) _3;
>   _8 = __x.5_6 < __y.6_7;
> 
>   <bb 4> [local count: 1073741824]:
>   # _9 = PHI <_4(2), _8(3)>
>   if (_9 != 0)
>     goto <bb 8>; [50.00%]
>   else
>     goto <bb 5>; [50.00%]

which is a somewhat awkward pattern.  I think that VN should really be
able to value-number _4 and _8 the same eliding this crap.  Let me see
to do that.

OK, that helps _a lot_.


More information about the Gcc-bugs mailing list