* lists.c (init_EXPR_INSN_LIST_cache): Don't need to zap the
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 8 Oct 1999 18:59:27 +0000 (18:59 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 8 Oct 1999 18:59:27 +0000 (18:59 +0000)
        cache every function if ggc_p.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29872 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/lists.c

index dfe8f96..73b4843 100644 (file)
@@ -1,3 +1,8 @@
+Fri Oct  8 11:58:34 1999  Richard Henderson  <rth@cygnus.com>
+
+       * lists.c (init_EXPR_INSN_LIST_cache): Don't need to zap the
+       cache every function if ggc_p.
+
 Fri Oct  8 18:46:11 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
        * jump.c (duplicate_loop_exit_test): Use copy_insn/copy_insn_1
index 90b6796..8c622a6 100644 (file)
@@ -120,15 +120,22 @@ zap_lists (dummy)
 void 
 init_EXPR_INSN_LIST_cache ()
 {
-  static int initialized;
-  if (!initialized)
+  if (ggc_p)
     {
-      initialized = 1;
-      ggc_add_root (&unused_expr_list, 1, 1, zap_lists);
+      static int initialized;
+      if (!initialized)
+        {
+          initialized = 1;
+          ggc_add_root (&unused_expr_list, 1, 1, zap_lists);
+        }
+
+      /* No need to squish the lists across functions with GC enabled.  */
+    }
+  else
+    {
+      unused_expr_list = NULL;
+      unused_insn_list = NULL;
     }
-    
-  unused_expr_list = NULL;
-  unused_insn_list = NULL;
 }
 
 /* This function will free up an entire list of EXPR_LIST nodes.  */