https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98110
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I see first real code changes between r11-5028 and r11-5029 during fre3 which optimizes away some rereads of current_value.m in _dl_lookup_symbol_x, which passes its address to other functions. # DEBUG BEGIN_STMT # PT = nonlocal escaped null _47 = current_value.m; _48 = _47->l_used; _49 = _48 == 0; ... _335 = val.m; - # PT = nonlocal escaped null - _336 = current_value.m; - if (_335 != _336) + if (_47 != _335) ... <bb 204> [local count: 3147328]: - # PT = nonlocal escaped null - _383 = current_value.m; - iftmp.45_384 = _383->l_map_start; + iftmp.45_384 = _47->l_map_start; ... - # PT = nonlocal escaped null - _120 = current_value.m; <bb 217> [local count: 114862414]: # PT = nonlocal escaped null - # _66 = PHI <0B(30), _116(153), _120(216)> + # _66 = PHI <0B(30), _116(153), _47(216)> (plus of course since the modref pass points to info changes).