summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>2001-11-24 22:57:28 +0000
committerhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>2001-11-24 22:57:28 +0000
commitedfcb0b1a2b80eb631f836c11169a9019855a960 (patch)
tree8ffcec9deac832fcce2485eb21d8eaba4fcd90a4
parent3655c95dc4ea0c10167fc53cd2a311501e69ee29 (diff)
downloadgcc-edfcb0b1a2b80eb631f836c11169a9019855a960.tar.gz
* genextract.c (main): Set ro_loc for peepholes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47308 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/genextract.c6
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d5ca26c35d9..1043d2d84d1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2001-11-24 Hans-Peter Nilsson <hp@axis.com>
+
+ * genextract.c (main): Set ro_loc for peepholes.
+
Sat Nov 24 17:04:10 2001 Douglas B. Rupp <rupp@gnat.com>
* fix-header.c (main): Move inf_buffer termination and inf_limit
diff --git a/gcc/genextract.c b/gcc/genextract.c
index 7c111368c03..ae77ac9ba7b 100644
--- a/gcc/genextract.c
+++ b/gcc/genextract.c
@@ -434,9 +434,11 @@ from the machine description file `md'. */\n\n");
/* The vector in the insn says how many operands it has.
And all it contains are operands. In fact, the vector was
- created just for the sake of this function. */
+ created just for the sake of this function. We need to set the
+ location of the operands for sake of simplifications after
+ extraction, like eliminating subregs. */
printf (" for (i = XVECLEN (pat, 0) - 1; i >= 0; i--)\n");
- printf (" ro[i] = XVECEXP (pat, 0, i);\n");
+ printf (" ro[i] = *(ro_loc[i] = &XVECEXP (pat, 0, i));\n");
printf (" break;\n\n");
}