From: steven Date: Sat, 13 May 2006 23:14:47 +0000 (+0000) Subject: * df-core.c (df_bb_regno_last_use_find): Do not look for dataflow X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=6151bbc32ccc2435e7618baf720840ee8a721c4a;ds=sidebyside * df-core.c (df_bb_regno_last_use_find): Do not look for dataflow information attached to non-INSNs such as NOTEs. (df_bb_regno_first_def_find, df_bb_regno_last_def_find): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113748 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e8f8d076321..e5c70501d1b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-05-13 Steven Bosscher + + * df-core.c (df_bb_regno_last_use_find): Do not look for dataflow + information attached to non-INSNs such as NOTEs. + (df_bb_regno_first_def_find, df_bb_regno_last_def_find): Likewise. + 2006-05-12 Andreas Krebbel * config/s390/s390.c (s390_const_ok_for_constraint_p): Disallow -4G for diff --git a/gcc/df-core.c b/gcc/df-core.c index 4c53e8c86f2..0619c200bdc 100644 --- a/gcc/df-core.c +++ b/gcc/df-core.c @@ -915,10 +915,14 @@ df_bb_regno_last_use_find (struct df *df, basic_block bb, unsigned int regno) { rtx insn; struct df_ref *use; + unsigned int uid; FOR_BB_INSNS_REVERSE (bb, insn) { - unsigned int uid = INSN_UID (insn); + if (!INSN_P (insn)) + continue; + + uid = INSN_UID (insn); for (use = DF_INSN_UID_GET (df, uid)->uses; use; use = use->next_ref) if (DF_REF_REGNO (use) == regno) return use; @@ -934,10 +938,14 @@ df_bb_regno_first_def_find (struct df *df, basic_block bb, unsigned int regno) { rtx insn; struct df_ref *def; + unsigned int uid; FOR_BB_INSNS (bb, insn) { - unsigned int uid = INSN_UID (insn); + if (!INSN_P (insn)) + continue; + + uid = INSN_UID (insn); for (def = DF_INSN_UID_GET (df, uid)->defs; def; def = def->next_ref) if (DF_REF_REGNO (def) == regno) return def; @@ -953,11 +961,14 @@ df_bb_regno_last_def_find (struct df *df, basic_block bb, unsigned int regno) { rtx insn; struct df_ref *def; + unsigned int uid; FOR_BB_INSNS_REVERSE (bb, insn) { - unsigned int uid = INSN_UID (insn); + if (!INSN_P (insn)) + continue; + uid = INSN_UID (insn); for (def = DF_INSN_UID_GET (df, uid)->defs; def; def = def->next_ref) if (DF_REF_REGNO (def) == regno) return def;