http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48270
--- Comment #6 from Ira Rosen <irar at il dot ibm.com> 2011-03-24 12:36:18 UTC --- My guess is that I freed data-refs too early. Could someone please check if this patch fixes the failures: Index: tree-ssa-phiopt.c =================================================================== --- tree-ssa-phiopt.c (revision 171384) +++ tree-ssa-phiopt.c (working copy) @@ -1494,8 +1494,6 @@ cond_if_else_store_replacement (basic_bl else_ddrs = VEC_alloc (ddr_p, heap, 1); compute_all_dependences (then_datarefs, &then_ddrs, NULL, false); compute_all_dependences (else_datarefs, &else_ddrs, NULL, false); - free_data_refs (then_datarefs); - free_data_refs (else_datarefs); blocks[0] = then_bb; blocks[1] = else_bb; blocks[2] = join_bb; @@ -1517,6 +1515,8 @@ cond_if_else_store_replacement (basic_bl { free_dependence_relations (then_ddrs); free_dependence_relations (else_ddrs); + free_data_refs (then_datarefs); + free_data_refs (else_datarefs); VEC_free (gimple, heap, then_stores); VEC_free (gimple, heap, else_stores); return false; @@ -1539,6 +1539,8 @@ cond_if_else_store_replacement (basic_bl { free_dependence_relations (then_ddrs); free_dependence_relations (else_ddrs); + free_data_refs (then_datarefs); + free_data_refs (else_datarefs); VEC_free (gimple, heap, then_stores); VEC_free (gimple, heap, else_stores); return false; @@ -1558,6 +1560,8 @@ cond_if_else_store_replacement (basic_bl free_dependence_relations (else_ddrs); VEC_free (gimple, heap, then_stores); VEC_free (gimple, heap, else_stores); + free_data_refs (then_datarefs); + free_data_refs (else_datarefs); return ok; } Thanks, Ira