Current implementation of ggc_alloc_rtvec_resized allocates more
spaces for rtvec.  This patch uses original formula to compute size
for rtvec.  Bootstrap on x86_64 successfully.

OK for trunk?

By the way, I don't have write access to SVN repository yet.  Could
you please help commit it after approval?

Liang.


2011-08-16  Liang Wang  <lwa...@marvell.com>

        * ggc.h (ggc_alloc_rtvec_sized): Change arguments of
        ggc_alloc_zone_vec_rtvec_def.


diff --git a/gcc/ggc.h b/gcc/ggc.h
index 7f2144c..07f0dda 100644
--- a/gcc/ggc.h
+++ b/gcc/ggc.h
@@ -266,8 +266,9 @@ extern struct alloc_zone tree_zone;
 extern struct alloc_zone tree_id_zone;

 #define ggc_alloc_rtvec_sized(NELT)                                     \
-    (ggc_alloc_zone_vec_rtvec_def (sizeof (rtx),                        \
-                                   sizeof (struct rtvec_def) + ((NELT) - 1), \
+    (ggc_alloc_zone_vec_rtvec_def (1,                                   \
+                                   sizeof (struct rtvec_def)            \
+                                  + ((NELT) - 1) * sizeof (rtx),       \
                                    &rtl_zone))

 #if defined (GGC_ZONE) && !defined (GENERATOR_FILE)

Attachment: changelog
Description: Binary data

Attachment: ggc.patch
Description: Binary data

Reply via email to