diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2002-03-08 12:29:13 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2002-03-08 07:29:13 -0500 |
commit | 127c1ba59832e7cbca6f86a38a9c6c090f3d0361 (patch) | |
tree | 69e03447f4533182251aad1f02e8ca6e223f91e5 /gcc/rtl.c | |
parent | e9fb78a4715ccc3e1f4f2c59dd04a2b835ef6644 (diff) | |
download | gcc-127c1ba59832e7cbca6f86a38a9c6c090f3d0361.zip gcc-127c1ba59832e7cbca6f86a38a9c6c090f3d0361.tar.gz gcc-127c1ba59832e7cbca6f86a38a9c6c090f3d0361.tar.bz2 |
rtl.c (copy_most_rtx): Move from here ...
* rtl.c (copy_most_rtx): Move from here ...
* emit-rtl.c (copy_most_rtx): ... to here.
From-SVN: r50435
Diffstat (limited to 'gcc/rtl.c')
-rw-r--r-- | gcc/rtl.c | 100 |
1 files changed, 0 insertions, 100 deletions
@@ -441,106 +441,6 @@ copy_rtx (orig) return copy; } -/* Similar to `copy_rtx' except that if MAY_SHARE is present, it is - placed in the result directly, rather than being copied. */ - -rtx -copy_most_rtx (orig, may_share) - rtx orig; - rtx may_share; -{ - rtx copy; - int i, j; - RTX_CODE code; - const char *format_ptr; - - if (orig == may_share) - return orig; - - code = GET_CODE (orig); - - switch (code) - { - case REG: - case QUEUED: - case CONST_INT: - case CONST_DOUBLE: - case CONST_VECTOR: - case SYMBOL_REF: - case CODE_LABEL: - case PC: - case CC0: - return orig; - default: - break; - } - - copy = rtx_alloc (code); - PUT_MODE (copy, GET_MODE (orig)); - copy->in_struct = orig->in_struct; - copy->volatil = orig->volatil; - copy->unchanging = orig->unchanging; - copy->integrated = orig->integrated; - copy->frame_related = orig->frame_related; - - format_ptr = GET_RTX_FORMAT (GET_CODE (copy)); - - for (i = 0; i < GET_RTX_LENGTH (GET_CODE (copy)); i++) - { - switch (*format_ptr++) - { - case 'e': - XEXP (copy, i) = XEXP (orig, i); - if (XEXP (orig, i) != NULL && XEXP (orig, i) != may_share) - XEXP (copy, i) = copy_most_rtx (XEXP (orig, i), may_share); - 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)); - for (j = 0; j < XVECLEN (copy, i); j++) - XVECEXP (copy, i, j) - = copy_most_rtx (XVECEXP (orig, i, j), may_share); - } - break; - - case 'w': - XWINT (copy, i) = XWINT (orig, i); - break; - - case 'n': - case 'i': - XINT (copy, i) = XINT (orig, i); - break; - - case 't': - XTREE (copy, i) = XTREE (orig, i); - break; - - case 's': - case 'S': - XSTR (copy, i) = XSTR (orig, i); - break; - - case '0': - /* Copy this through the wide int field; that's safest. */ - X0WINT (copy, i) = X0WINT (orig, i); - break; - - default: - abort (); - } - } - return copy; -} - /* Create a new copy of an rtx. Only copy just one level. */ rtx |