Copyright (C) 2000 Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC
-This file is part of GNU CC.
+This file is part of GCC.
-GNU CC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2, or (at your option) any later
+version.
-GNU CC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
You should have received a copy of the GNU General Public License
-along with GNU CC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+along with GCC; see the file COPYING. If not, write to the Free
+Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA. */
/* References:
};
typedef struct conflict_graph_arc_def *conflict_graph_arc;
+typedef const struct conflict_graph_arc_def *const_conflict_graph_arc;
/* A conflict graph. */
conflicts exist involving that reg. */
conflict_graph_arc *neighbor_heads;
- /* Arcs are allocated from here. */
+ /* Arcs are allocated from here. */
struct obstack arc_obstack;
};
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);
}
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;
}
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. */