OSDN Git Service

* global.c (EXECUTE_IF_CONFLICT): Don't define.
authoramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 8 Nov 1999 23:17:51 +0000 (23:17 +0000)
committeramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 8 Nov 1999 23:17:51 +0000 (23:17 +0000)
(prune_preferences): Use EXECUTE_IF_SET_IN_ALLOCNO_SET instead.
(find_reg): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30455 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/global.c

index 69c13af..bef4d47 100644 (file)
@@ -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>
 
index 4edacf8..de3b571 100644 (file)
@@ -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);
        });