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

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #1)
> The problem is dead code:
>   language_names_p_9 = &MEM <const char *> [(void *)_4 + 24B];
>   MEM[(const char * *)_4 + 24B] = "";
>   MEM[(const char * *)_4 + 32B] = "";
>   MEM[(const char * *)_4 + 40B] = 0B;
>   _2 = _4 + 40;
>   D.50907._M_comp = compare_cstrings;
>   __comp = D.50907;
>   if (_2 != language_names_p_9)
>     goto <bb 3>; [53.47%]
>   else
>     goto <bb 12>; [46.53%]
> 
>   <bb 3> [local count: 574129759]:
>   _15 = _2 - language_names_p_9;
>   _16 = _15 /[ex] 8;
> 
> ...
>  _22 = _2 - language_names_p_9;


I have a (hack) patch which removes the first if statement but still does not
fold _15 and _22.

Reply via email to