VN now inserts all sorts of calls into the references hashtable, not only those which produce a value. This results in missing initializations of ->value_id which eventually PRE ends up accessing.
The following fixes that. Bootstrap and regtest pending on x86_64-unknown-linux-gnu. Richard. 2013-03-05 Richard Biener <rguent...@suse.de> * tree-ssa-sccvn.c (set_value_id_for_result): For a NULL result set a new value-id. Index: gcc/tree-ssa-sccvn.c =================================================================== --- gcc/tree-ssa-sccvn.c (revision 196451) +++ gcc/tree-ssa-sccvn.c (working copy) @@ -3954,7 +3962,7 @@ free_scc_vn (void) XDELETE (optimistic_info); } -/* Set *ID if we computed something useful in RESULT. */ +/* Set *ID according to RESULT. */ static void set_value_id_for_result (tree result, unsigned int *id) @@ -3966,6 +3974,8 @@ set_value_id_for_result (tree result, un else if (is_gimple_min_invariant (result)) *id = get_or_alloc_constant_value_id (result); } + else + *id = get_next_value_id (); } /* Set the value ids in the valid hash tables. */