OSDN Git Service

* optabs.h (OTI_flodiv, flodiv_optab): Kill.
[pf3gnuchains/gcc-fork.git] / gcc / conflict.c
index 3113aa7..3c1cae0 100644 (file)
@@ -30,6 +30,7 @@ Boston, MA 02111-1307, USA.  */
 #include "obstack.h"
 #include "hashtab.h"
 #include "rtl.h"
+#include "hard-reg-set.h"
 #include "basic-block.h"
 
 /* Use malloc to allocate obstack chunks.  */
@@ -84,6 +85,7 @@ struct conflict_graph_arc_def
 };
 
 typedef struct conflict_graph_arc_def *conflict_graph_arc;
+typedef const struct conflict_graph_arc_def *const_conflict_graph_arc;
 
 
 /* A conflict graph.  */
@@ -101,7 +103,7 @@ struct conflict_graph_def
      conflicts exist involving that reg.  */
   conflict_graph_arc *neighbor_heads;
 
-  /* Arcs are allocated from here. */
+  /* Arcs are allocated from here.  */
   struct obstack arc_obstack;
 };
 
@@ -120,13 +122,13 @@ static int print_conflict PARAMS ((int, int, void *));
 static void mark_reg           PARAMS ((rtx, rtx, void *));
 \f
 /* Callback function to compute the hash value of an arc.  Uses
-   current_graph to locate the graph to which the arc belongs. */
+   current_graph to locate the graph to which the arc belongs.  */
 
 static unsigned
 arc_hash (arcp)
      const void *arcp;
 {
-  conflict_graph_arc arc = (conflict_graph_arc) arcp;
+  const_conflict_graph_arc arc = (const_conflict_graph_arc) arcp;
 
   return CONFLICT_HASH_FN (arc->smaller, arc->larger);
 }
@@ -139,8 +141,8 @@ arc_eq (arcp1, arcp2)
      const void *arcp1;
      const void *arcp2;
 {
-  conflict_graph_arc arc1 = (conflict_graph_arc) arcp1;
-  conflict_graph_arc arc2 = (conflict_graph_arc) arcp2;
+  const_conflict_graph_arc arc1 = (const_conflict_graph_arc) arcp1;
+  const_conflict_graph_arc arc2 = (const_conflict_graph_arc) arcp2;
 
   return arc1->smaller == arc2->smaller && arc1->larger == arc2->larger;
 }
@@ -482,12 +484,7 @@ conflict_graph_compute (regs, p)
                 we're in SSA form, if a reg is set here it isn't set
                 anywhere elso, so this insn is where the reg is born.  */
              CLEAR_REG_SET (born);
-             note_stores (PATTERN (insn), mark_reg, (void *) born);
-#ifdef AUTO_INC_DEC
-             for (link = REG_NOTES (insn); link; link = XEXP (link, 1))
-               if (REG_NOTE_KIND (link) == REG_INC)
-                 mark_reg (XEXP (link, 0), NULL_RTX, NULL);
-#endif
+             note_stores (PATTERN (insn), mark_reg, born);
              AND_REG_SET (born, regs);
          
              /* Regs born here were not live before this insn.  */