aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJ"orn Rennecke <amylaar@cygnus.co.uk>1999-11-08 23:17:51 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>1999-11-08 23:17:51 +0000
commit312618c7d082170511d341cf08918e543490361b (patch)
tree0d8b558bc375ac03fa28bfe8332be0712143438d /gcc
parent04299876827cd93058d21b3a03a48f68decd0831 (diff)
downloadgcc-312618c7d082170511d341cf08918e543490361b.zip
gcc-312618c7d082170511d341cf08918e543490361b.tar.gz
gcc-312618c7d082170511d341cf08918e543490361b.tar.bz2
global.c (EXECUTE_IF_CONFLICT): Don't define.
* global.c (EXECUTE_IF_CONFLICT): Don't define. (prune_preferences): Use EXECUTE_IF_SET_IN_ALLOCNO_SET instead. (find_reg): Likewise. From-SVN: r30455
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/global.c8
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 69c13af..bef4d47 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+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>
diff --git a/gcc/global.c b/gcc/global.c
index 4edacf8..de3b571 100644
--- a/gcc/global.c
+++ b/gcc/global.c
@@ -154,12 +154,15 @@ do { \
} \
} 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). */
@@ -931,7 +934,8 @@ prune_preferences ()
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)
{
@@ -1261,7 +1265,7 @@ find_reg (allocno, losers, alt_regs_p, accept_call_clobbered, retrying)
/* 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);
});