OSDN Git Service

* genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 7 Mar 2002 22:03:27 +0000 (22:03 +0000)
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 7 Mar 2002 22:03:27 +0000 (22:03 +0000)
genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
and MATCH_OP_DUP.

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

gcc/ChangeLog
gcc/genextract.c
gcc/genoutput.c

index 09c6190..ea31da8 100644 (file)
@@ -1,3 +1,9 @@
+2002-03-06  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
+       genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
+       and MATCH_OP_DUP.
+
 Thu Mar  7 16:54:10 CET 2002  Jan Hubicka  <jh@suse.cz>
 
        * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
index 72e3e56..d52fc36 100644 (file)
@@ -210,12 +210,12 @@ walk_rtx (x, path)
       break;
 
     case MATCH_DUP:
-    case MATCH_PAR_DUP:
       duplocs[dup_count] = xstrdup (path);
       dupnums[dup_count] = XINT (x, 0);
       dup_count++;
       break;
 
+    case MATCH_PAR_DUP:
     case MATCH_OP_DUP:
       duplocs[dup_count] = xstrdup (path);
       dupnums[dup_count] = XINT (x, 0);
@@ -227,7 +227,7 @@ walk_rtx (x, path)
       
       for (i = XVECLEN (x, 1) - 1; i >= 0; i--)
         {
-         newpath[depth] = '0' + i;
+         newpath[depth] = (code == MATCH_OP_DUP ? '0' : 'a') + i;
          walk_rtx (XVECEXP (x, 1, i), newpath);
         }
       free (newpath);
index b11e083..7ed98bb 100644 (file)
@@ -530,7 +530,7 @@ scan_operands (d, part, this_address_p, this_strict_low)
     case MATCH_OP_DUP:
     case MATCH_PAR_DUP:
       ++num_dups;
-      return;
+      break;
 
     case ADDRESS:
       scan_operands (d, XEXP (part, 0), 1, 0);