Restore df_free_collection_rec call in df_bb_verify
authorH.J. Lu <hongjiu.lu@intel.com>
Tue, 21 Aug 2012 21:07:01 +0000 (21:07 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Tue, 21 Aug 2012 21:07:01 +0000 (14:07 -0700)
PR middle-end/54332
* df-scan.c (df_bb_verify): Restore df_free_collection_rec call
inside the insn traversal loop.

* vec.h (vec_reserve): Remove the stack allocation check.

From-SVN: r190576

gcc/ChangeLog
gcc/df-scan.c
gcc/vec.h

index a271fe5258fe85805ee7b7821c55122bcb0d4630..7400fe87f71342737e3694e8f0f1a80bfe4cfaf6 100644 (file)
@@ -1,3 +1,11 @@
+2012-08-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR middle-end/54332
+       * df-scan.c (df_bb_verify): Restore df_free_collection_rec call
+       inside the insn traversal loop.
+
+       * vec.h (vec_reserve): Remove the stack allocation check.
+
 2012-08-21  Marc Glisse  <marc.glisse@inria.fr>
 
        * fold-const.c (fold_ternary_loc): Detect identity permutations.
index 55492fa81417deddd14a364de6ec9f62f720e158..df903659114f958fa541a3cb23e455f35f766de4 100644 (file)
@@ -4448,6 +4448,7 @@ df_bb_verify (basic_block bb)
       if (!INSN_P (insn))
         continue;
       df_insn_refs_verify (&collection_rec, bb, insn, true);
+      df_free_collection_rec (&collection_rec);
     }
 
   /* Do the artificial defs and uses.  */
index 5fdb859741dc0e5a66c4918e201372a26f8041d5..1922616fc137b7965a0120e4fab0a48057e841b3 100644 (file)
--- a/gcc/vec.h
+++ b/gcc/vec.h
@@ -1099,21 +1099,9 @@ vec_reserve (vec_t<T> *vec_, int reserve MEM_STAT_DECL)
                                              sizeof (T), false
                                              PASS_MEM_STAT);
   else
-    {
-      /* Only allow stack vectors when re-growing them.  The initial
-        allocation of stack vectors must be done with the
-        VEC_stack_alloc macro, because it uses alloca() for the
-        allocation.  */
-      if (vec_ == NULL)
-       {
-         fprintf (stderr, "Stack vectors must be initially allocated "
-                  "with VEC_stack_alloc.\n");
-         gcc_unreachable ();
-       }
-      return (vec_t<T> *) vec_stack_o_reserve (vec_, reserve,
-                                              offsetof (vec_t<T>, vec),
-                                              sizeof (T) PASS_MEM_STAT);
-    }
+    return (vec_t<T> *) vec_stack_o_reserve (vec_, reserve,
+                                            offsetof (vec_t<T>, vec),
+                                            sizeof (T) PASS_MEM_STAT);
 }