df-core.c (df_bb_regno_last_use_find): Do not look for dataflow information attached...
authorSteven Bosscher <stevenb.gcc@gmail.com>
Sat, 13 May 2006 23:14:47 +0000 (23:14 +0000)
committerSteven Bosscher <steven@gcc.gnu.org>
Sat, 13 May 2006 23:14:47 +0000 (23:14 +0000)
* 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.

From-SVN: r113748

gcc/ChangeLog
gcc/df-core.c

index e8f8d076321356d93fe5cfb72c2cc582cde4273e..e5c70501d1b7c01815ed7e61b07748eb2bb13cc6 100644 (file)
@@ -1,3 +1,9 @@
+2006-05-13  Steven Bosscher  <stevenb.gcc@gmail.com>
+
+       * 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  <krebbel1@de.ibm.com>
 
        * config/s390/s390.c (s390_const_ok_for_constraint_p): Disallow -4G for
index 4c53e8c86f2640bfa2febb53becc4ca980a508da..0619c200bdc3829b5371d63f8d87affb433b672b 100644 (file)
@@ -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;