From: Richard Henderson Date: Sat, 9 Jan 1999 18:37:42 +0000 (-0800) Subject: tree.c (make_node): Call bzero instead of inline clear. X-Git-Tag: prereleases/libgcj-0.1~1412 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dfa27ef1db156b9c72a8f0a4164c507a613f5b6c;p=thirdparty%2Fgcc.git tree.c (make_node): Call bzero instead of inline clear. * tree.c (make_node): Call bzero instead of inline clear. (copy_node, make_tree_vec, build1): Likewise. (get_identifier): Call strlen instead of inline count. (maybe_get_identifier): Likewise. From-SVN: r24599 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 408772ccc945..ab5938e7d21a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +Sat Jan 9 18:35:29 1999 Richard Henderson + + * tree.c (make_node): Call bzero instead of inline clear. + (copy_node, make_tree_vec, build1): Likewise. + (get_identifier): Call strlen instead of inline count. + (maybe_get_identifier): Likewise. + Sun Jan 10 14:04:51 1999 Michael Hayes * config/c4x/c4x.md: (in_annul_slot_3): Allow unarycc and binarycc diff --git a/gcc/tree.c b/gcc/tree.c index 6cb386481b18..62d2a1287b59 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -1071,19 +1071,13 @@ make_node (code) } t = (tree) obstack_alloc (obstack, length); + bzero (t, length); #ifdef GATHER_STATISTICS tree_node_counts[(int)kind]++; tree_node_sizes[(int)kind] += length; #endif - /* Clear a word at a time. */ - for (i = (length / sizeof (int)) - 1; i >= 0; i--) - ((int *) t)[i] = 0; - /* Clear any extra bytes. */ - for (i = length / sizeof (int) * sizeof (int); i < length; i++) - ((char *) t)[i] = 0; - TREE_SET_CODE (t, code); if (obstack == &permanent_obstack) TREE_PERMANENT (t) = 1; @@ -1189,12 +1183,7 @@ copy_node (node) } t = (tree) obstack_alloc (current_obstack, length); - - for (i = (length / sizeof (int)) - 1; i >= 0; i--) - ((int *) t)[i] = ((int *) node)[i]; - /* Clear any extra bytes. */ - for (i = length / sizeof (int) * sizeof (int); i < length; i++) - ((char *) t)[i] = ((char *) node)[i]; + bzero (t, length); /* EXPR_WITH_FILE_LOCATION must keep filename info stored in TREE_CHAIN */ if (TREE_CODE (node) != EXPR_WITH_FILE_LOCATION) @@ -1262,7 +1251,7 @@ get_identifier (text) register int len, hash_len; /* Compute length of text in len. */ - for (len = 0; text[len]; len++); + len = strlen (text); /* Decide how much of that length to hash on */ hash_len = len; @@ -1325,7 +1314,7 @@ maybe_get_identifier (text) register int len, hash_len; /* Compute length of text in len. */ - for (len = 0; text[len]; len++); + len = strlen (text); /* Decide how much of that length to hash on */ hash_len = len; @@ -1565,9 +1554,7 @@ make_tree_vec (len) #endif t = (tree) obstack_alloc (obstack, length); - - for (i = (length / sizeof (int)) - 1; i >= 0; i--) - ((int *) t)[i] = 0; + bzero (t, length); TREE_SET_CODE (t, TREE_VEC); TREE_VEC_LENGTH (t) = len; @@ -3074,15 +3061,13 @@ build1 (code, type, node) length = sizeof (struct tree_exp); t = (tree) obstack_alloc (obstack, length); + bzero (t, length); #ifdef GATHER_STATISTICS tree_node_counts[(int)kind]++; tree_node_sizes[(int)kind] += length; #endif - for (i = (length / sizeof (int)) - 1; i >= 0; i--) - ((int *) t)[i] = 0; - TREE_TYPE (t) = type; TREE_SET_CODE (t, code);