diff options
author | Bernd Schmidt <bernds@cygnus.co.uk> | 1999-10-11 18:42:36 +0000 |
---|---|---|
committer | Bernd Schmidt <crux@gcc.gnu.org> | 1999-10-11 18:42:36 +0000 |
commit | e63db8f67d6574c04f87109b0e2e70db944f80af (patch) | |
tree | 6a9e1c6a8b8037f5e79e81dcbe99eff47c781322 /gcc/rtl.c | |
parent | 7c56a6cef7938d2f017efa78300a2bf63956fd2e (diff) | |
download | gcc-e63db8f67d6574c04f87109b0e2e70db944f80af.zip gcc-e63db8f67d6574c04f87109b0e2e70db944f80af.tar.gz gcc-e63db8f67d6574c04f87109b0e2e70db944f80af.tar.bz2 |
Bring copy_insn_1 and copy_rtx in sync and simplify them
From-SVN: r29902
Diffstat (limited to 'gcc/rtl.c')
-rw-r--r-- | gcc/rtl.c | 23 |
1 files changed, 3 insertions, 20 deletions
@@ -418,21 +418,16 @@ copy_rtx (orig) for (i = 0; i < GET_RTX_LENGTH (GET_CODE (copy)); i++) { + copy->fld[i] = orig->fld[i]; switch (*format_ptr++) { case 'e': - XEXP (copy, i) = XEXP (orig, i); if (XEXP (orig, i) != NULL) XEXP (copy, i) = copy_rtx (XEXP (orig, i)); break; - case 'u': - XEXP (copy, i) = XEXP (orig, i); - break; - case 'E': case 'V': - XVEC (copy, i) = XVEC (orig, i); if (XVEC (orig, i) != NULL) { XVEC (copy, i) = rtvec_alloc (XVECLEN (orig, i)); @@ -450,25 +445,13 @@ copy_rtx (orig) } case 't': - XTREE (copy, i) = XTREE (orig, i); - break; - case 'w': - XWINT (copy, i) = XWINT (orig, i); - break; - case 'i': - XINT (copy, i) = XINT (orig, i); - break; - case 's': case 'S': - XSTR (copy, i) = XSTR (orig, i); - break; - + case 'u': case '0': - /* Copy this through the wide int field; that's safest. */ - X0WINT (copy, i) = X0WINT (orig, i); + /* These are left unchanged. */ break; default: |