This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH/dataflow] incorrect size for df_ref_info


Hi,

I'm running the test on m68k with dataflow branch and I get many compile
errors with empty functions and -fomit-frame-pointer. The problem is the
df_grow_ref_info doesn't always resize the array as much as the comment
says, e.g. it fails if total_size==3 and bitmap_addend==1.

Booted and tested on i686-linux.

bye, Roman

200x-xx-xx  Roman Zippel <zippel@linux-m68k.org>

	* df-scan.c (df_grow_ref_info): Also add bitmap_addend to size.

---
 gcc/df-scan.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Index: gcc-dataflow/gcc/df-scan.c
===================================================================
--- gcc-dataflow.orig/gcc/df-scan.c
+++ gcc-dataflow/gcc/df-scan.c
@@ -540,7 +540,8 @@ df_check_and_grow_ref_info (struct df_re
 {
   if (ref_info->refs_size < ref_info->total_size + bitmap_addend)
     {
-      int new_size = ref_info->total_size + ref_info->total_size / 4;
+      int new_size = ref_info->total_size + bitmap_addend;
+      new_size += ref_info->total_size / 4;
       df_grow_ref_info (ref_info, new_size);
     }
 }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]