aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2002-03-08 12:29:13 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2002-03-08 07:29:13 -0500
commit127c1ba59832e7cbca6f86a38a9c6c090f3d0361 (patch)
tree69e03447f4533182251aad1f02e8ca6e223f91e5 /gcc/rtl.c
parente9fb78a4715ccc3e1f4f2c59dd04a2b835ef6644 (diff)
downloadgcc-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.c100
1 files changed, 0 insertions, 100 deletions
diff --git a/gcc/rtl.c b/gcc/rtl.c
index 50058ee..7d70059 100644
--- a/gcc/rtl.c
+++ b/gcc/rtl.c
@@ -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