Mercurial > hg > CbC > CbC_gcc
diff gcc/bt-load.c @ 55:77e2b8dfacca gcc-4.4.5
update it from 4.4.3 to 4.5.0
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 12 Feb 2010 23:39:51 +0900 |
parents | a06113de4d67 |
children | f6334be47118 |
line wrap: on
line diff
--- a/gcc/bt-load.c Sun Feb 07 18:28:00 2010 +0900 +++ b/gcc/bt-load.c Fri Feb 12 23:39:51 2010 +0900 @@ -1,5 +1,5 @@ /* Perform branch target register load optimizations. - Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 + Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. This file is part of GCC. @@ -457,8 +457,8 @@ btr_def_group all_btr_def_groups = NULL; defs_uses_info info; - sbitmap_vector_zero (bb_gen, n_basic_blocks); - for (i = NUM_FIXED_BLOCKS; i < n_basic_blocks; i++) + sbitmap_vector_zero (bb_gen, last_basic_block); + for (i = NUM_FIXED_BLOCKS; i < last_basic_block; i++) { basic_block bb = BASIC_BLOCK (i); int reg; @@ -618,8 +618,8 @@ /* For each basic block, form the set BB_KILL - the set of definitions that the block kills. */ - sbitmap_vector_zero (bb_kill, n_basic_blocks); - for (i = NUM_FIXED_BLOCKS; i < n_basic_blocks; i++) + sbitmap_vector_zero (bb_kill, last_basic_block); + for (i = NUM_FIXED_BLOCKS; i < last_basic_block; i++) { for (regno = first_btr; regno <= last_btr; regno++) if (TEST_HARD_REG_BIT (all_btrs, regno) @@ -642,14 +642,14 @@ int changed; sbitmap bb_in = sbitmap_alloc (max_uid); - for (i = NUM_FIXED_BLOCKS; i < n_basic_blocks; i++) + for (i = NUM_FIXED_BLOCKS; i < last_basic_block; i++) sbitmap_copy (bb_out[i], bb_gen[i]); changed = 1; while (changed) { changed = 0; - for (i = NUM_FIXED_BLOCKS; i < n_basic_blocks; i++) + for (i = NUM_FIXED_BLOCKS; i < last_basic_block; i++) { sbitmap_union_of_preds (bb_in, bb_out, i); changed |= sbitmap_union_of_diff_cg (bb_out[i], bb_gen[i], @@ -668,7 +668,7 @@ /* Link uses to the uses lists of all of their reaching defs. Count up the number of reaching defs of each use. */ - for (i = NUM_FIXED_BLOCKS; i < n_basic_blocks; i++) + for (i = NUM_FIXED_BLOCKS; i < last_basic_block; i++) { basic_block bb = BASIC_BLOCK (i); rtx insn; @@ -780,8 +780,8 @@ btr_user *use_array = XCNEWVEC (btr_user, max_uid); sbitmap *btr_defset = sbitmap_vector_alloc ( (last_btr - first_btr) + 1, max_uid); - sbitmap *bb_gen = sbitmap_vector_alloc (n_basic_blocks, max_uid); - HARD_REG_SET *btrs_written = XCNEWVEC (HARD_REG_SET, n_basic_blocks); + sbitmap *bb_gen = sbitmap_vector_alloc (last_basic_block, max_uid); + HARD_REG_SET *btrs_written = XCNEWVEC (HARD_REG_SET, last_basic_block); sbitmap *bb_kill; sbitmap *bb_out; @@ -790,11 +790,11 @@ compute_defs_uses_and_gen (all_btr_defs, def_array, use_array, btr_defset, bb_gen, btrs_written); - bb_kill = sbitmap_vector_alloc (n_basic_blocks, max_uid); + bb_kill = sbitmap_vector_alloc (last_basic_block, max_uid); compute_kill (bb_kill, btr_defset, btrs_written); free (btrs_written); - bb_out = sbitmap_vector_alloc (n_basic_blocks, max_uid); + bb_out = sbitmap_vector_alloc (last_basic_block, max_uid); compute_out (bb_out, bb_gen, bb_kill, max_uid); sbitmap_vector_free (bb_gen); @@ -1403,7 +1403,7 @@ { int i; - for (i = NUM_FIXED_BLOCKS; i < n_basic_blocks; i++) + for (i = NUM_FIXED_BLOCKS; i < last_basic_block; i++) { basic_block bb = BASIC_BLOCK (i); fprintf(dump_file, @@ -1417,7 +1417,7 @@ CLEAR_HARD_REG_SET (all_btrs); for (first_btr = -1, reg = 0; reg < FIRST_PSEUDO_REGISTER; reg++) if (TEST_HARD_REG_BIT (reg_class_contents[(int) btr_class], reg) - && (allow_callee_save || call_used_regs[reg] + && (allow_callee_save || call_used_regs[reg] || df_regs_ever_live_p (reg))) { SET_HARD_REG_BIT (all_btrs, reg); @@ -1426,8 +1426,8 @@ first_btr = reg; } - btrs_live = XCNEWVEC (HARD_REG_SET, n_basic_blocks); - btrs_live_at_end = XCNEWVEC (HARD_REG_SET, n_basic_blocks); + btrs_live = XCNEWVEC (HARD_REG_SET, last_basic_block); + btrs_live_at_end = XCNEWVEC (HARD_REG_SET, last_basic_block); build_btr_def_use_webs (all_btr_defs); @@ -1513,7 +1513,7 @@ NULL, /* sub */ NULL, /* next */ 0, /* static_pass_number */ - 0, /* tv_id */ + TV_NONE, /* tv_id */ 0, /* properties_required */ 0, /* properties_provided */ 0, /* properties_destroyed */ @@ -1563,7 +1563,7 @@ NULL, /* sub */ NULL, /* next */ 0, /* static_pass_number */ - 0, /* tv_id */ + TV_NONE, /* tv_id */ 0, /* properties_required */ 0, /* properties_provided */ 0, /* properties_destroyed */ @@ -1572,4 +1572,3 @@ TODO_ggc_collect, /* todo_flags_finish */ } }; -