diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/df-problems.c | 14 |
2 files changed, 16 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6268186dbd6..5896305da4a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-06-07 Jan Hubicka <jh@suse.cz> + + PR middle-end/44454 + (df_lr_top_dump, df_lr_bottom_dump): Check that in/out bitmaps + are allocated. + 2010-06-07 Kaz Kojima <kkojima@gcc.gnu.org> * config/sh/sh.c (sh_build_builtin_va_list): Set tree type diff --git a/gcc/df-problems.c b/gcc/df-problems.c index f11b2518079..05d41b56ed0 100644 --- a/gcc/df-problems.c +++ b/gcc/df-problems.c @@ -1120,8 +1120,11 @@ df_lr_top_dump (basic_block bb, FILE *file) if (df_lr->problem_data) { problem_data = (struct df_lr_problem_data *)df_lr->problem_data; - fprintf (file, ";; old in \t"); - df_print_regset (file, &problem_data->in[bb->index]); + if (problem_data->in) + { + fprintf (file, ";; old in \t"); + df_print_regset (file, &problem_data->in[bb->index]); + } } fprintf (file, ";; lr use \t"); df_print_regset (file, &bb_info->use); @@ -1145,8 +1148,11 @@ df_lr_bottom_dump (basic_block bb, FILE *file) if (df_lr->problem_data) { problem_data = (struct df_lr_problem_data *)df_lr->problem_data; - fprintf (file, ";; old out \t"); - df_print_regset (file, &problem_data->out[bb->index]); + if (problem_data->out) + { + fprintf (file, ";; old out \t"); + df_print_regset (file, &problem_data->out[bb->index]); + } } } |