https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95576
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The important difference in *.slp2 dumps is: @@ -188,14 +201,17 @@ T::~T (struct T * const this) _15 = VIEW_CONVERT_EXPR<long unsigned int>(&MEM <int (*) ()[5]> [(void *)&_ZTV1T + 16B]); _14 = {_15}; vect_cst__13 = _14; - vectp.24_16 = &this_2(D)->D.2378._vptr.S; - MEM[(int (*) () * *)vectp.24_16] = vect_cst__13; _18 = VIEW_CONVERT_EXPR<long unsigned int>(&MEM <int (*) ()[5]> [(void *)&_ZTV1S + 16B]); _19 = {_18}; vect_cst__20 = _19; + # DEBUG this => this_2(D) + vectp.24_16 = &this_2(D)->D.2378._vptr.S; + MEM[(int (*) () * *)vectp.24_16] = vect_cst__13; _4 = &this_2(D)->D.2378; + # DEBUG this => _4 vectp.26_21 = &_4->_vptr.S; MEM[(int (*) () * *)vectp.26_21] = vect_cst__20; + # DEBUG BEGIN_STMT _5 = _4->s; if (_5 != 0B) goto <bb 3>; [70.00%] (the previous pass is ok and all other hunks are just about addition of # DEBUG stmts).