From 6935bae779717b8563011478a79ea5832c6fd135 Mon Sep 17 00:00:00 2001
From: Sebastian Pop <sebastian.pop@amd.com>
Date: Wed, 16 Jan 2008 13:16:50 +0000
Subject: [PATCH] tree-data-ref.c (subscript_dependence_tester_1): Call
 free_conflict_function.

2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-data-ref.c (subscript_dependence_tester_1): Call
	free_conflict_function.
	(compute_self_dependence): Same.

From-SVN: r131571
---
 gcc/ChangeLog       |  6 ++++++
 gcc/tree-data-ref.c | 14 ++++++++++++--
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 510e56b1532f..82edafa4ba8a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
+
+	* tree-data-ref.c (subscript_dependence_tester_1): Call 
+	free_conflict_function.
+	(compute_self_dependence): Same.
+
 2008-01-16  Uros Bizjak  <ubizjak@gmail.com>
 
 	PR debug/34249
diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c
index e4ac89a67b07..1fe7c0a46831 100644
--- a/gcc/tree-data-ref.c
+++ b/gcc/tree-data-ref.c
@@ -3205,6 +3205,11 @@ subscript_dependence_tester_1 (struct data_dependence_relation *ddr,
 
       else
  	{
+	  if (SUB_CONFLICTS_IN_A (subscript))
+	    free_conflict_function (SUB_CONFLICTS_IN_A (subscript));
+	  if (SUB_CONFLICTS_IN_B (subscript))
+	    free_conflict_function (SUB_CONFLICTS_IN_B (subscript));
+
  	  SUB_CONFLICTS_IN_A (subscript) = overlaps_a;
  	  SUB_CONFLICTS_IN_B (subscript) = overlaps_b;
 	  SUB_LAST_CONFLICT (subscript) = last_conflicts;
@@ -3896,11 +3901,16 @@ compute_self_dependence (struct data_dependence_relation *ddr)
   for (i = 0; VEC_iterate (subscript_p, DDR_SUBSCRIPTS (ddr), i, subscript);
        i++)
     {
+      if (SUB_CONFLICTS_IN_A (subscript))
+	free_conflict_function (SUB_CONFLICTS_IN_A (subscript));
+      if (SUB_CONFLICTS_IN_B (subscript))
+	free_conflict_function (SUB_CONFLICTS_IN_B (subscript));
+
       /* The accessed index overlaps for each iteration.  */
       SUB_CONFLICTS_IN_A (subscript)
-	      = conflict_fn (1, affine_fn_cst (integer_zero_node));
+	= conflict_fn (1, affine_fn_cst (integer_zero_node));
       SUB_CONFLICTS_IN_B (subscript)
-	      = conflict_fn (1, affine_fn_cst (integer_zero_node));
+	= conflict_fn (1, affine_fn_cst (integer_zero_node));
       SUB_LAST_CONFLICT (subscript) = chrec_dont_know;
     }
 
-- 
GitLab