This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/48270] [4.7 Regression] New test failures
- From: "irar at il dot ibm.com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 24 Mar 2011 12:36:23 -0000
- Subject: [Bug middle-end/48270] [4.7 Regression] New test failures
- Auto-submitted: auto-generated
- References: <bug-48270-4@http.gcc.gnu.org/bugzilla/>
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