Commit 1497faf6 by Richard Henderson Committed by Richard Henderson

* cse.c (cse_main): If gc'ing, collect around cse_basic_block.

From-SVN: r29354
parent 0172a8f1
Sat Sep 11 23:23:46 1999 Richard Henderson <rth@cygnus.com>
* cse.c (cse_main): If gc'ing, collect around cse_basic_block.
* ggc-simple.c (ggc_pop_context): Fold outstanding bytes into
surrounding context.
Sat Sep 11 19:52:43 1999 Mark Mitchell <mark@codesourcery.com> Sat Sep 11 19:52:43 1999 Mark Mitchell <mark@codesourcery.com>
* tree.c (type_hash_canon): Put all types in the hash-table, when * tree.c (type_hash_canon): Put all types in the hash-table, when
......
...@@ -36,6 +36,7 @@ Boston, MA 02111-1307, USA. */ ...@@ -36,6 +36,7 @@ Boston, MA 02111-1307, USA. */
#include "toplev.h" #include "toplev.h"
#include "output.h" #include "output.h"
#include "splay-tree.h" #include "splay-tree.h"
#include "ggc.h"
/* The basic idea of common subexpression elimination is to go /* The basic idea of common subexpression elimination is to go
through the code, keeping a record of expressions that would through the code, keeping a record of expressions that would
...@@ -8730,6 +8731,9 @@ cse_main (f, nregs, after_loop, file) ...@@ -8730,6 +8731,9 @@ cse_main (f, nregs, after_loop, file)
|| global_regs[i]) || global_regs[i])
SET_HARD_REG_BIT (regs_invalidated_by_call, i); SET_HARD_REG_BIT (regs_invalidated_by_call, i);
if (ggc_p)
ggc_push_context ();
/* Loop over basic blocks. /* Loop over basic blocks.
Compute the maximum number of qty's needed for each basic block Compute the maximum number of qty's needed for each basic block
(which is 2 for each SET). */ (which is 2 for each SET). */
...@@ -8786,11 +8790,17 @@ cse_main (f, nregs, after_loop, file) ...@@ -8786,11 +8790,17 @@ cse_main (f, nregs, after_loop, file)
cse_jumps_altered |= old_cse_jumps_altered; cse_jumps_altered |= old_cse_jumps_altered;
} }
if (ggc_p)
ggc_collect ();
#ifdef USE_C_ALLOCA #ifdef USE_C_ALLOCA
alloca (0); alloca (0);
#endif #endif
} }
if (ggc_p)
ggc_pop_context ();
/* Tell refers_to_mem_p that qty_const info is not available. */ /* Tell refers_to_mem_p that qty_const info is not available. */
qty_const = 0; qty_const = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment