+Mon Nov 8 22:20:13 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * global.c (EXECUTE_IF_CONFLICT): Don't define.
+ (prune_preferences): Use EXECUTE_IF_SET_IN_ALLOCNO_SET instead.
+ (find_reg): Likewise.
Mon Nov 8 13:16:46 1999 Jason Eckhardt <jle@cygnus.com>
} \
} while (0)
+/* This doesn't work for non-GNU C due to the way CODE is macro expanded. */
+#if 0
/* For any allocno that conflicts with IN_ALLOCNO, set OUT_ALLOCNO to
the conflicting allocno, and execute CODE. This macro assumes that
mirror_conflicts has been run. */
#define EXECUTE_IF_CONFLICT(IN_ALLOCNO, OUT_ALLOCNO, CODE)\
EXECUTE_IF_SET_IN_ALLOCNO_SET (conflicts + (IN_ALLOCNO) * allocno_row_words,\
OUT_ALLOCNO, (CODE))
+#endif
/* Set of hard regs currently live (during scan of all insns). */
CLEAR_HARD_REG_SET (temp);
CLEAR_HARD_REG_SET (temp2);
- EXECUTE_IF_CONFLICT (allocno, allocno2,
+ EXECUTE_IF_SET_IN_ALLOCNO_SET (conflicts + allocno * allocno_row_words,
+ allocno2,
{
if (allocno_to_order[allocno2] > i)
{
/* For each other pseudo-reg conflicting with this one,
mark it as conflicting with the hard regs this one occupies. */
lim = allocno;
- EXECUTE_IF_CONFLICT (lim, j,
+ EXECUTE_IF_SET_IN_ALLOCNO_SET (conflicts + lim * allocno_row_words, j,
{
IOR_HARD_REG_SET (hard_reg_conflicts[j], this_reg);
});