diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-07-24 15:21:16 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-07-24 15:21:16 +0000 |
commit | 8123d49ba497753d50ba9798372dc9c397a6e8e4 (patch) | |
tree | 5330840468db054f30ec11df9cd68cb7a84316c1 /gcc/gcse.c | |
parent | 7719c1cb6fc59ef00ad7e8155c8b3053f721e1fb (diff) | |
download | gcc-8123d49ba497753d50ba9798372dc9c397a6e8e4.tar.gz |
* gcse.c (free_pre_mem): Do not free ANTLOC and AE_KILL here.
(compute_pre_data): Do it here instead.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35224 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r-- | gcc/gcse.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/gcc/gcse.c b/gcc/gcse.c index ce4c07b8d40..618a4345c3d 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 */ |