Commit e63db8f6 by Bernd Schmidt Committed by Bernd Schmidt

Bring copy_insn_1 and copy_rtx in sync and simplify them

From-SVN: r29902
parent 7c56a6ce
Mon Oct 11 20:31:51 1999 Bernd Schmidt <bernds@cygnus.co.uk>
* rtl.c (copy_rtx): Don't use accessor macros to copy fields.
* emit-rtl.c (copy_insn_1): Likewise.
Mon Oct 11 13:29:06 1999 Geoffrey Keating <geoffk@cygnus.com> Mon Oct 11 13:29:06 1999 Geoffrey Keating <geoffk@cygnus.com>
* config/mips/mips.c (mips_build_va_list): Correct * config/mips/mips.c (mips_build_va_list): Correct
......
...@@ -3473,22 +3473,16 @@ copy_insn_1 (orig) ...@@ -3473,22 +3473,16 @@ copy_insn_1 (orig)
for (i = 0; i < GET_RTX_LENGTH (GET_CODE (copy)); i++) for (i = 0; i < GET_RTX_LENGTH (GET_CODE (copy)); i++)
{ {
copy->fld[i] = orig->fld[i];
switch (*format_ptr++) switch (*format_ptr++)
{ {
case 'e': case 'e':
XEXP (copy, i) = XEXP (orig, i);
if (XEXP (orig, i) != NULL) if (XEXP (orig, i) != NULL)
XEXP (copy, i) = copy_insn_1 (XEXP (orig, i)); XEXP (copy, i) = copy_insn_1 (XEXP (orig, i));
break; break;
case '0':
case 'u':
XEXP (copy, i) = XEXP (orig, i);
break;
case 'E': case 'E':
case 'V': case 'V':
XVEC (copy, i) = XVEC (orig, i);
if (XVEC (orig, i) == orig_asm_constraints_vector) if (XVEC (orig, i) == orig_asm_constraints_vector)
XVEC (copy, i) = copy_asm_constraints_vector; XVEC (copy, i) = copy_asm_constraints_vector;
else if (XVEC (orig, i) == orig_asm_operands_vector) else if (XVEC (orig, i) == orig_asm_operands_vector)
...@@ -3510,20 +3504,13 @@ copy_insn_1 (orig) ...@@ -3510,20 +3504,13 @@ copy_insn_1 (orig)
} }
case 't': case 't':
XTREE (copy, i) = XTREE (orig, i);
break;
case 'w': case 'w':
XWINT (copy, i) = XWINT (orig, i);
break;
case 'i': case 'i':
XINT (copy, i) = XINT (orig, i);
break;
case 's': case 's':
case 'S': case 'S':
XSTR (copy, i) = XSTR (orig, i); case 'u':
case '0':
/* These are left unchanged. */
break; break;
default: default:
......
...@@ -418,21 +418,16 @@ copy_rtx (orig) ...@@ -418,21 +418,16 @@ copy_rtx (orig)
for (i = 0; i < GET_RTX_LENGTH (GET_CODE (copy)); i++) for (i = 0; i < GET_RTX_LENGTH (GET_CODE (copy)); i++)
{ {
copy->fld[i] = orig->fld[i];
switch (*format_ptr++) switch (*format_ptr++)
{ {
case 'e': case 'e':
XEXP (copy, i) = XEXP (orig, i);
if (XEXP (orig, i) != NULL) if (XEXP (orig, i) != NULL)
XEXP (copy, i) = copy_rtx (XEXP (orig, i)); XEXP (copy, i) = copy_rtx (XEXP (orig, i));
break; break;
case 'u':
XEXP (copy, i) = XEXP (orig, i);
break;
case 'E': case 'E':
case 'V': case 'V':
XVEC (copy, i) = XVEC (orig, i);
if (XVEC (orig, i) != NULL) if (XVEC (orig, i) != NULL)
{ {
XVEC (copy, i) = rtvec_alloc (XVECLEN (orig, i)); XVEC (copy, i) = rtvec_alloc (XVECLEN (orig, i));
...@@ -450,25 +445,13 @@ copy_rtx (orig) ...@@ -450,25 +445,13 @@ copy_rtx (orig)
} }
case 't': case 't':
XTREE (copy, i) = XTREE (orig, i);
break;
case 'w': case 'w':
XWINT (copy, i) = XWINT (orig, i);
break;
case 'i': case 'i':
XINT (copy, i) = XINT (orig, i);
break;
case 's': case 's':
case 'S': case 'S':
XSTR (copy, i) = XSTR (orig, i); case 'u':
break;
case '0': case '0':
/* Copy this through the wide int field; that's safest. */ /* These are left unchanged. */
X0WINT (copy, i) = X0WINT (orig, i);
break; break;
default: default:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment