aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcse.c
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>2000-07-24 15:21:16 +0000
committerJeff Law <law@gcc.gnu.org>2000-07-24 09:21:16 -0600
commitbd3675fcf181c6caf293d924c35dd7797c3718b8 (patch)
tree5330840468db054f30ec11df9cd68cb7a84316c1 /gcc/gcse.c
parent45d523184d44dd97520461e2ebae3b0a9422ef22 (diff)
downloadgcc-bd3675fcf181c6caf293d924c35dd7797c3718b8.zip
gcc-bd3675fcf181c6caf293d924c35dd7797c3718b8.tar.gz
gcc-bd3675fcf181c6caf293d924c35dd7797c3718b8.tar.bz2
gcse.c (free_pre_mem): Do not free ANTLOC and AE_KILL here.
* gcse.c (free_pre_mem): Do not free ANTLOC and AE_KILL here. (compute_pre_data): Do it here instead. From-SVN: r35224
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r--gcc/gcse.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/gcc/gcse.c b/gcc/gcse.c
index ce4c07b..618a434 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -4071,7 +4071,8 @@ free_pre_mem ()
{
free (transp);
free (comp);
- free (antloc);
+
+ /* ANTLOC and AE_KILL are freed just after pre_lcm finishes. */
if (pre_optimal)
free (pre_optimal);
@@ -4088,14 +4089,12 @@ free_pre_mem ()
free (ae_in);
if (ae_out)
free (ae_out);
- if (ae_kill)
- free (ae_kill);
if (u_bitmap)
free (u_bitmap);
- transp = comp = antloc = NULL;
+ transp = comp = NULL;
pre_optimal = pre_redundant = pre_insert_map = pre_delete_map = NULL;
- transpout = ae_in = ae_out = ae_kill = NULL;
+ transpout = ae_in = ae_out = NULL;
u_bitmap = NULL;
}
@@ -4125,6 +4124,10 @@ compute_pre_data ()
edge_list = pre_edge_lcm (gcse_file, n_exprs, transp, comp, antloc,
ae_kill, &pre_insert_map, &pre_delete_map);
+ free (antloc);
+ antloc = NULL;
+ free (ae_kill);
+ ae_kill = NULL;
}
/* PRE utilities */