https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84746
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- The issue is PRE inserted a PHI with a SSA name argument that is not available there. The reason is that constant = fully_constant_expression (expr); ... if (constant->kind != CONSTANT) { ... unsigned value_id = get_expr_value_id (constant); constant = find_leader_in_sets (value_id, set1, set2, AVAIL_OUT (pred)); is wrong in using the ANTIC sets to find a leader. See the original fix I pasted into PR84670. This fix regresses some testcase(s) though (gcc.dg/tree-ssa/pr35287.c at least). Trying to recover with sth more clever regressed sth else. As the other fix (for the assert) fixed all testcases I had I didn't pursue this further. Looking again.