diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 49321d41615009a40fa3d3cfda26614d601bcac3..dd5d399f9862bf333eedc2f7bed9aadccfbdf850 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-09-24 Richard Henderson <rth@redhat.com> + + * ipa-type-escape.c (discover_unique_type): Remove dead code at + end of function. Reindent. + 2005-09-24 Ian Lance Taylor <ian@airs.com> * convert.c (convert_to_integer): Don't test for ENUMERAL_TYPE in diff --git a/gcc/ipa-type-escape.c b/gcc/ipa-type-escape.c index 38cc23b2c58544ca0a94f0e4c3f631503066f664..a06bb1d4040a2c9d626bacf106c3fb7ffd98f48f 100644 --- a/gcc/ipa-type-escape.c +++ b/gcc/ipa-type-escape.c @@ -200,57 +200,57 @@ compare_type_brand (splay_tree_key sk1, splay_tree_key sk2) static tree discover_unique_type (tree type) { - struct type_brand_s * brand = xmalloc(sizeof(struct type_brand_s)); + struct type_brand_s * brand = xmalloc (sizeof (struct type_brand_s)); int i = 0; splay_tree_node result; - + + brand->name = get_name_of_type (type); + while (1) - { - brand->name = get_name_of_type (type); - brand->seq = i; - result = splay_tree_lookup (all_canon_types, (splay_tree_key) brand); - if (result) - { - /* Create an alias since this is just the same as - other_type. */ - tree other_type = (tree) result->value; - if (lang_hooks.types_compatible_p (type, other_type) == 1) - { - free (brand); - /* Insert this new type as an alias for other_type. */ - splay_tree_insert (type_to_canon_type, - (splay_tree_key) type, - (splay_tree_value) other_type); - return other_type; - } - /* Not compatible, look for next instance with same name. */ - } - else - { - /* No more instances, create new one since this is the first - time we saw this type. */ - brand->seq = i++; - /* Insert the new brand. */ - splay_tree_insert (all_canon_types, - (splay_tree_key) brand, - (splay_tree_value) type); - - /* Insert this new type as an alias for itself. */ - splay_tree_insert (type_to_canon_type, - (splay_tree_key) type, - (splay_tree_value) type); - - /* Insert the uid for reverse lookup; */ - splay_tree_insert (uid_to_canon_type, - (splay_tree_key) TYPE_UID (type), - (splay_tree_value) type); - - bitmap_set_bit (global_types_seen, TYPE_UID (type)); - return type; - } - i++; - } - free (brand); + { + brand->seq = i++; + result = splay_tree_lookup (all_canon_types, (splay_tree_key) brand); + + if (result) + { + /* Create an alias since this is just the same as + other_type. */ + tree other_type = (tree) result->value; + if (lang_hooks.types_compatible_p (type, other_type) == 1) + { + free (brand); + /* Insert this new type as an alias for other_type. */ + splay_tree_insert (type_to_canon_type, + (splay_tree_key) type, + (splay_tree_value) other_type); + return other_type; + } + /* Not compatible, look for next instance with same name. */ + } + else + { + /* No more instances, create new one since this is the first + time we saw this type. */ + brand->seq = i++; + /* Insert the new brand. */ + splay_tree_insert (all_canon_types, + (splay_tree_key) brand, + (splay_tree_value) type); + + /* Insert this new type as an alias for itself. */ + splay_tree_insert (type_to_canon_type, + (splay_tree_key) type, + (splay_tree_value) type); + + /* Insert the uid for reverse lookup; */ + splay_tree_insert (uid_to_canon_type, + (splay_tree_key) TYPE_UID (type), + (splay_tree_value) type); + + bitmap_set_bit (global_types_seen, TYPE_UID (type)); + return type; + } + } } /* Return true if TYPE is one of the type classes that we are willing