mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-21 08:03:41 +08:00
expr.c (emit_queue): If emitting a SEQUENCE, set QUEUED_INSN to the first insn of the sequence.
* expr.c (emit_queue): If emitting a SEQUENCE, set QUEUED_INSN to the first insn of the sequence. From-SVN: r20997
This commit is contained in:
parent
759bd8b73b
commit
41b083c42e
@ -1,3 +1,8 @@
|
||||
Tue Jul 7 21:23:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||||
|
||||
* expr.c (emit_queue): If emitting a SEQUENCE, set QUEUED_INSN
|
||||
to the first insn of the sequence.
|
||||
|
||||
Tue Jul 7 21:05:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||||
|
||||
* cse (cse_insn): Don't make change without validation.
|
||||
|
10
gcc/expr.c
10
gcc/expr.c
@ -522,7 +522,15 @@ emit_queue ()
|
||||
register rtx p;
|
||||
while ((p = pending_chain))
|
||||
{
|
||||
QUEUED_INSN (p) = emit_insn (QUEUED_BODY (p));
|
||||
rtx body = QUEUED_BODY (p);
|
||||
|
||||
if (GET_CODE (body) == SEQUENCE)
|
||||
{
|
||||
QUEUED_INSN (p) = XVECEXP (QUEUED_BODY (p), 0, 0);
|
||||
emit_insn (QUEUED_BODY (p));
|
||||
}
|
||||
else
|
||||
QUEUED_INSN (p) = emit_insn (QUEUED_BODY (p));
|
||||
pending_chain = QUEUED_NEXT (p);
|
||||
}
|
||||
}
|
||||
|
@ -30,7 +30,8 @@ Boston, MA 02111-1307, USA. */
|
||||
/* The variable for which an increment is queued. */
|
||||
#define QUEUED_VAR(P) XEXP (P, 0)
|
||||
/* If the increment has been emitted, this is the insn
|
||||
that does the increment. It is zero before the increment is emitted. */
|
||||
that does the increment. It is zero before the increment is emitted.
|
||||
If more than one insn is emitted, this is the first insn. */
|
||||
#define QUEUED_INSN(P) XEXP (P, 1)
|
||||
/* If a pre-increment copy has been generated, this is the copy
|
||||
(it is a temporary reg). Zero if no copy made yet. */
|
||||
|
Loading…
Reference in New Issue
Block a user