Mercurial > hg > CbC > CbC_gcc
diff gcc/df-scan.c @ 63:b7f97abdc517 gcc-4.6-20100522
update gcc from gcc-4.5.0 to gcc-4.6
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 24 May 2010 12:47:05 +0900 |
parents | 77e2b8dfacca |
children | f6334be47118 |
line wrap: on
line diff
--- a/gcc/df-scan.c Fri Feb 12 23:41:23 2010 +0900 +++ b/gcc/df-scan.c Mon May 24 12:47:05 2010 +0900 @@ -1,6 +1,6 @@ /* Scanning of rtl for dataflow analysis. Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008, 2009 Free Software Foundation, Inc. + 2008, 2009, 2010 Free Software Foundation, Inc. Originally contributed by Michael P. Hayes (m.hayes@elec.canterbury.ac.nz, mhayes@redhat.com) Major rewrite contributed by Danny Berlin (dberlin@dberlin.org) @@ -285,7 +285,6 @@ df_scan_set_bb_info (unsigned int index, struct df_scan_bb_info *bb_info) { - gcc_assert (df_scan); df_grow_bb_info (df_scan); df_scan->block_info[index] = (void *) bb_info; } @@ -1302,7 +1301,10 @@ } df_refs_add_to_chains (&collection_rec, bb, insn); - df_set_bb_dirty (bb); + if (DEBUG_INSN_P (insn)) + df_set_bb_dirty_nonlr (bb); + else + df_set_bb_dirty (bb); VEC_free (df_ref, stack, collection_rec.def_vec); VEC_free (df_ref, stack, collection_rec.use_vec); @@ -1321,8 +1323,8 @@ unsigned int uid = INSN_UID (insn); struct df_insn_info *insn_info; - gcc_assert (DEBUG_INSN_P (insn)); - gcc_assert (VAR_LOC_UNKNOWN_P (INSN_VAR_LOCATION_LOC (insn))); + gcc_assert (DEBUG_INSN_P (insn) + && VAR_LOC_UNKNOWN_P (INSN_VAR_LOCATION_LOC (insn))); if (!df) return false; @@ -2394,7 +2396,7 @@ if (DF_REF_EXTRACT_MODE (ref1) != DF_REF_EXTRACT_MODE (ref2)) return DF_REF_EXTRACT_MODE (ref1) - DF_REF_EXTRACT_MODE (ref2); } - return 0; + return (int)DF_REF_ORDER (ref1) - (int)DF_REF_ORDER (ref2); } static void @@ -2603,8 +2605,8 @@ df->hard_regs_live_count[regno]++; } - gcc_assert (DF_REF_NEXT_REG (this_ref) == NULL); - gcc_assert (DF_REF_PREV_REG (this_ref) == NULL); + gcc_assert (DF_REF_NEXT_REG (this_ref) == NULL + && DF_REF_PREV_REG (this_ref) == NULL); DF_REF_NEXT_REG (this_ref) = head; @@ -3851,13 +3853,13 @@ gcc_assert (GET_MODE (reg) != BLKmode); - bitmap_set_bit (set, regno); if (regno < FIRST_PSEUDO_REGISTER) { int n = hard_regno_nregs[regno][GET_MODE (reg)]; - while (--n > 0) - bitmap_set_bit (set, regno + n); + bitmap_set_range (set, regno, n); } + else + bitmap_set_bit (set, regno); } @@ -4257,7 +4259,6 @@ bool df_hard_reg_used_p (unsigned int reg) { - gcc_assert (df); return df->hard_regs_live_count[reg] != 0; } @@ -4272,7 +4273,6 @@ unsigned int df_hard_reg_used_count (unsigned int reg) { - gcc_assert (df); return df->hard_regs_live_count[reg]; }