https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38264
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I actually just ran into a problem caused by having this check here. I was modifying tree-ssa-ifcombine to optimize the case where we have the same condition on both bb from a bb like: ``` int g(); int h(); int j, l; int f(int a, int *b) { if (a == 0) { if (b == &j) goto L9; else goto L7; } else { if (b == &j) goto L9; else goto L7; } L7: return g(); L9: return h(); } ``` I go and try to remove one of the bb (which have the same condition) and that should have updated dominators in a reasonable way because the removal should have done a forwarder from bb 2 to bb3. But instead of doing the forwarding of the bb, we end up with still bb3 and the dominator needs to be updated in non-trival ways.