diff options
author | crux <crux@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-10-11 18:42:36 +0000 |
---|---|---|
committer | crux <crux@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-10-11 18:42:36 +0000 |
commit | d925550de6043d9f82199658f3a9c34e39aa081c (patch) | |
tree | 6a9e1c6a8b8037f5e79e81dcbe99eff47c781322 /gcc/emit-rtl.c | |
parent | 6c65e8d76ee07cd4919e48b7a3f80426e76e7aa7 (diff) | |
download | gcc-d925550de6043d9f82199658f3a9c34e39aa081c.tar.gz |
Bring copy_insn_1 and copy_rtx in sync and simplify them
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29902 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r-- | gcc/emit-rtl.c | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index d121ae7b25a..1918a437abc 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -3473,22 +3473,16 @@ copy_insn_1 (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_insn_1 (XEXP (orig, i)); break; - case '0': - case 'u': - XEXP (copy, i) = XEXP (orig, i); - break; - case 'E': case 'V': - XVEC (copy, i) = XVEC (orig, i); if (XVEC (orig, i) == orig_asm_constraints_vector) XVEC (copy, i) = copy_asm_constraints_vector; else if (XVEC (orig, i) == orig_asm_operands_vector) @@ -3510,20 +3504,13 @@ copy_insn_1 (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); + case 'u': + case '0': + /* These are left unchanged. */ break; default: |