From 1ee85ee19b06863781374b7c9f97e4f6e931118b Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Fri, 12 Sep 2014 01:16:42 +0200 Subject: 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/doc/invoke.texi | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'gcc/doc') diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 68e992d..eae4ab1 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -9019,6 +9019,12 @@ The value @code{one} specifies that exactly one partition should be used while the value @code{none} bypasses partitioning and executes the link-time optimization step directly from the WPA phase. +@item -flto-odr-type-merging +@opindex flto-odr-type-merging +Enable streaming of mangled types names of C++ types and their unification +at linktime. This increases size of LTO object files, but enable +diagnostics about One Definition Rule violations. + @item -flto-compression-level=@var{n} This option specifies the level of compression used for intermediate language written to LTO object files, and is only meaningful in -- cgit v1.1