aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2002-03-07 22:03:27 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2002-03-07 22:03:27 +0000
commit6d7a1c4c78aa070a4017b28e6e46f0a335d461dc (patch)
tree0f8a7e342b92206077e616b3ba655af9489aa3c1 /gcc
parentd3e1c36d082420f32e39fa8d61c9c5f321113182 (diff)
downloadgcc-6d7a1c4c78aa070a4017b28e6e46f0a335d461dc.zip
gcc-6d7a1c4c78aa070a4017b28e6e46f0a335d461dc.tar.gz
gcc-6d7a1c4c78aa070a4017b28e6e46f0a335d461dc.tar.bz2
genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
* genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP. genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP and MATCH_OP_DUP. From-SVN: r50412
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/genextract.c4
-rw-r--r--gcc/genoutput.c2
3 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 09c6190..ea31da8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/genextract.c b/gcc/genextract.c
index 72e3e56..d52fc36 100644
--- a/gcc/genextract.c
+++ b/gcc/genextract.c
@@ -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);
diff --git a/gcc/genoutput.c b/gcc/genoutput.c
index b11e083..7ed98bb 100644
--- a/gcc/genoutput.c
+++ b/gcc/genoutput.c
@@ -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);