* cse.c (cse_basic_block): Free qty_table consistently.
authorJeffrey A Law <law@cygnus.com>
Mon, 13 Dec 1999 04:33:11 +0000 (04:33 +0000)
committerJeff Law <law@gcc.gnu.org>
Mon, 13 Dec 1999 04:33:11 +0000 (21:33 -0700)
From-SVN: r30882

gcc/ChangeLog
gcc/cse.c

index 10ac35ab122145b1c7fcb2a758df4ec822a81440..950fdb94eae33c112488418d3aac53b2052f3d60 100644 (file)
@@ -1,3 +1,7 @@
+Sun Dec 12 21:31:44 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * cse.c (cse_basic_block): Free qty_table consistently.
+
 1999-12-12  David S. Miller  <davem@redhat.com>
            Jakub Jelinek    <jakub@redhat.com>
 
index bc9e7b66ae6f49ef9d57382a626edcc02b0327a4..24785ec5eef4fad1084ce7dc8fac4c796b7f16bd 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -6961,7 +6961,10 @@ cse_basic_block (from, to, next_branch, around_loop)
       if (simplejump_p (insn))
        {
          if (to == 0)
-           return 0;
+           {
+             free (qty_table + max_reg);
+             return 0;
+           }
 
          if (JUMP_LABEL (insn) == to)
            to_usage = 1;
@@ -6993,13 +6996,19 @@ cse_basic_block (from, to, next_branch, around_loop)
 
          /* If TO was the last insn in the function, we are done.  */
          if (insn == 0)
-           return 0;
+           {
+             free (qty_table + max_reg);
+             return 0;
+           }
 
          /* If TO was preceded by a BARRIER we are done with this block
             because it has no continuation.  */
          prev = prev_nonnote_insn (to);
          if (prev && GET_CODE (prev) == BARRIER)
-           return insn;
+           {
+             free (qty_table + max_reg);
+             return insn;
+           }
 
          /* Find the end of the following block.  Note that we won't be
             following branches in this case.  */