https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105714
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The problem is we have: <bb 6> [local count: 354334800]: # h_21 = PHI <h_15(6), 0(5)> *c.3_5 = *d.2_4; h_15 = h_21 + 1; if (h_15 != 3) goto <bb 6>; [75.00%] else goto <bb 7>; [25.00%] <bb 7> [local count: 118111600]: *c.3_5 = MEM[(struct a *)&b + 12B]; _13 = c.3_5->x; return _13; We instrument in the *c.3_5 = *d.2_4 both the load and store, but then when considering instrumentation of *c.3_5 = MEM[(struct a *)&b + 12B]; has_stmt_been_instrumented_p returns true because *c.3_5 has been indeed instrumented in a dominating bb. But the rhs hasn't been...