Mercurial > hg > CbC > CbC_gcc
diff gcc/regcprop.c @ 67:f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
author | nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 22 Mar 2011 17:18:12 +0900 |
parents | b7f97abdc517 |
children | 04ced10e8804 |
line wrap: on
line diff
--- a/gcc/regcprop.c Tue May 25 18:58:51 2010 +0900 +++ b/gcc/regcprop.c Tue Mar 22 17:18:12 2011 +0900 @@ -34,7 +34,7 @@ #include "function.h" #include "recog.h" #include "flags.h" -#include "toplev.h" +#include "diagnostic-core.h" #include "obstack.h" #include "timevar.h" #include "tree-pass.h" @@ -457,7 +457,7 @@ rtx new_rtx; if (!in_hard_reg_set_p (reg_class_contents[cl], mode, i)) - return NULL_RTX; + continue; new_rtx = maybe_mode_change (oldmode, vd->e[regno].mode, mode, i, regno); if (new_rtx) @@ -946,7 +946,14 @@ did_replacement: if (changed) - anything_changed = true; + { + anything_changed = true; + + /* If something changed, perhaps further changes to earlier + DEBUG_INSNs can be applied. */ + if (vd->n_debug_insn_changes) + note_uses (&PATTERN (insn), cprop_find_used_regs, vd); + } /* Clobber call-clobbered registers. */ if (CALL_P (insn)) @@ -1057,7 +1064,7 @@ /* Dump the value chain data to stderr. */ -void +DEBUG_FUNCTION void debug_value_data (struct value_data *vd) { HARD_REG_SET set;