aboutsummaryrefslogtreecommitdiff
path: root/gcc/df-problems.c
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2006-01-20 01:46:37 +0100
committerZdenek Dvorak <rakdver@gcc.gnu.org>2006-01-20 00:46:37 +0000
commit03fd22151856ff8e57ef209b2e01edc9f76999e0 (patch)
treef0310ff5933484ccfcb5cd7fb312fb89350141a1 /gcc/df-problems.c
parentb04c90638b1b3042078fda9582f3b3008ce51bc1 (diff)
downloadgcc-03fd22151856ff8e57ef209b2e01edc9f76999e0.zip
gcc-03fd22151856ff8e57ef209b2e01edc9f76999e0.tar.gz
gcc-03fd22151856ff8e57ef209b2e01edc9f76999e0.tar.bz2
loop-iv.c: Include df.h and hashtab.h.
* loop-iv.c: Include df.h and hashtab.h. (enum iv_grd_result): New enum. (DF_REF_IV, DF_REF_IV_SET): New macros. (struct biv_entry): New. (df, bivs): New global variables. (struct insn_info, insn_info, last_def, bivs, max_insn_no, max_reg_no, assign_luids, mark_sets, kill_sets, mark_single_set, simple_set_p): Removed. (clear_iv_info, latch_dominating_def, record_iv, iv_analyze_expr, iv_analyze_result, iv_analyze_def, biv_hash, biv_eq, analyzed_for_bivness_p, record_biv): New functions. (iv_analysis_loop_init, iv_get_reaching_def, simple_reg_p, get_biv_step_1, get_biv_step, iv_analyze_biv, iv_analyze_op, iv_analyze, biv_p, iv_analysis_done): Work with df representation of UD chains. (iv_constant, iv_subreg, iv_extend, iv_mult, iv_shift): Do not set analysed. (iv_number_of_iterations): Use new interface to iv analysis. * loop-unroll.c: Do not include varray.h. (analyze_iv_to_split_insn): Use new interface to iv analysis. * loop-unswitch.c (may_unswitch_on): Ditto. * df.c (df_bitmaps_free): Only work for bbs for that structures are allocated. (df_bb_modify): Realloc tables to the new index. (df_find_use): New function. * df.h (df_find_use): Declare. * optabs.c (expand_unop): Make the mode of the REG_EQUAL node be outmode. * cfgloop.h (struct rtx_iv): Remove analysed field. (iv_get_reaching_def): Removed. (iv_analyze_result, iv_analyze_expr, iv_current_loop_df): Declare. * Makefile.in (loop-unroll.o): Remove VARRAY_H dependency. (loop-iv.o): Add df.h and hashtab.h dependency. * df-problems.c (df_ru_alloc, df_rd_alloc): Fix memory reallocation. From-SVN: r110005
Diffstat (limited to 'gcc/df-problems.c')
-rw-r--r--gcc/df-problems.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/df-problems.c b/gcc/df-problems.c
index c17e048..2a7ec0d 100644
--- a/gcc/df-problems.c
+++ b/gcc/df-problems.c
@@ -369,12 +369,12 @@ df_ru_alloc (struct dataflow *dflow, bitmap blocks_to_rescan)
}
}
- if (problem_data->use_sites_size > reg_size)
+ if (problem_data->use_sites_size < reg_size)
{
problem_data->use_sites
- = xrealloc (problem_data->use_sites, reg_size *sizeof (bitmap));
- memset (problem_data->use_sites, 0,
- (reg_size - problem_data->use_sites_size) *sizeof (bitmap));
+ = xrealloc (problem_data->use_sites, reg_size * sizeof (bitmap));
+ memset (problem_data->use_sites + problem_data->use_sites_size, 0,
+ (reg_size - problem_data->use_sites_size) * sizeof (bitmap));
problem_data->use_sites_size = reg_size;
}
@@ -876,11 +876,11 @@ df_rd_alloc (struct dataflow *dflow, bitmap blocks_to_rescan)
}
}
- if (problem_data->def_sites_size > reg_size)
+ if (problem_data->def_sites_size < reg_size)
{
problem_data->def_sites
= xrealloc (problem_data->def_sites, reg_size *sizeof (bitmap));
- memset (problem_data->def_sites, 0,
+ memset (problem_data->def_sites + problem_data->def_sites_size, 0,
(reg_size - problem_data->def_sites_size) *sizeof (bitmap));
problem_data->def_sites_size = reg_size;
}