common.opt (flto-odr-type-merging): New flag.
authorJan Hubicka <hubicka@ucw.cz>
Thu, 11 Sep 2014 23:16:42 +0000 (01:16 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Thu, 11 Sep 2014 23:16:42 +0000 (23:16 +0000)
commit1ee85ee19b06863781374b7c9f97e4f6e931118b
tree5ca60267bac44557141301c497a4c5364a3466f9
parentbc9132dee6c4a8a4348a15ad62772d632351388b
common.opt (flto-odr-type-merging): New flag.

* common.opt (flto-odr-type-merging): New flag.
* ipa-deivrt.c (hash_type_name): Use ODR names for hasing if availale.
(types_same_for_odr): Likewise.
(odr_subtypes_equivalent_p): Likewise.
(add_type_duplicate): Do not walk type variants.
(register_odr_type): New function.
* ipa-utils.h (register_odr_type): Declare.
(odr_type_p): New function.
* langhooks.c (lhd_set_decl_assembler_name): Do not compute
TYPE_DECLs
* doc/invoke.texi (-flto-odr-type-merging): Document.
* tree.c (need_assembler_name_p): Compute ODR names when asked
for it.
* tree.h (DECL_ASSEMBLER_NAME): Update comment.

* lto.c (lto_read_decls): Register ODR types.

From-SVN: r215196
gcc/ChangeLog
gcc/common.opt
gcc/doc/invoke.texi
gcc/ipa-devirt.c
gcc/ipa-utils.h
gcc/langhooks.c
gcc/lto/ChangeLog
gcc/lto/lto.c
gcc/tree.c
gcc/tree.h