diff options
author | Jeffrey A Law <law@cygnus.com> | 1999-12-13 04:33:11 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-12-12 21:33:11 -0700 |
commit | fa0933ba25d5657d079bff30cf58a6bfc79ce483 (patch) | |
tree | f31e9b2730fe8050a017e078587277e5bc7f0e66 | |
parent | 3a1760acf09c45a309580e2f232eafb8cfe4e08f (diff) | |
download | gcc-fa0933ba25d5657d079bff30cf58a6bfc79ce483.zip gcc-fa0933ba25d5657d079bff30cf58a6bfc79ce483.tar.gz gcc-fa0933ba25d5657d079bff30cf58a6bfc79ce483.tar.bz2 |
* cse.c (cse_basic_block): Free qty_table consistently.
From-SVN: r30882
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cse.c | 15 |
2 files changed, 16 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 10ac35a..950fdb9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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> @@ -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. */ |