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.