http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57864
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- Caused by static pre_expr phi_translate_1 (pre_expr expr, bitmap_set_t set1, bitmap_set_t set2, basic_block pred, basic_block phiblock) { ... case NAME: { ... if (TREE_CODE (def) == SSA_NAME) def = VN_INFO (def)->valnum; picking up VN inserted expressions. I re-wrote this as part of 2012-09-24 Richard Guenther <rguent...@suse.de> * tree-ssa-pre.c (bitmap_find_leader, create_expression_by_pieces, find_or_generate_expression): Remove dominating stmt argument. (find_leader_in_sets, phi_translate_1, bitmap_find_leader, create_component_ref_by_pieces_1, create_component_ref_by_pieces, do_regular_insertion, do_partial_partial_insertion): Adjust. (compute_avail): Do not set uids. and that fixed it. I am going to try backporting that change in isolation.