This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][LTO] Remove type completion during merging


On Thu, Jul 15, 2010 at 6:51 AM, Richard Guenther <rguenther@suse.de> wrote:
>
> This removes type completion during type merging which made
> the type merging outcome depend on the order of registering
> types and caused problems when there are type ODR violations
> across modules. ?The cost of not completing types is less
> type merging done (thus possibly more memory use), and a
> split brain of gimple_types_compatible_p which needs to
> ignore complete/incomplete differences for diagnostics.
>
> To not barf up in the type verifier later we also need to
> use the comparison predicates in useless_type_conversion_p
> (huh, that change truly feels backward and obviously also
> affects non-LTO operation).
>
> When building SPEC 2k6 this patch removes one ICE.
>
> I'm currently re-bootstrapping for all languages due to
> the tree-ssa.c change but it already survived bootstrap
> and test on x86_64-unknown-linux-gnu w/o that change.
>
> Ok?
>
> Thanks,
> Richard.
>
> 2010-07-15 ?Richard Guenther ?<rguenther@suse.de>
>
> ? ? ? ?* lto-symtab.c (lto_symtab_merge): Use gimple_types_compatible_p.
> ? ? ? ?(lto_symtab_merge_decls_2): Likewise.
> ? ? ? ?* gimple.h (gimple_types_compatible_p): Declare.
> ? ? ? ?* gimple.c (gimple_queue_type_fixup): Remove.
> ? ? ? ?(gimple_fixup_complete_and_incomplete_subtype_p): Likewise.
> ? ? ? ?(gimple_compatible_complete_and_incomplete_type_p): New
> ? ? ? ?function.
> ? ? ? ?(gimple_types_compatible_p): Adjust.
> ? ? ? ?(gimple_register_type): Remove type fixup code.
> ? ? ? ?(print_gimple_types_stats): Adjust.
> ? ? ? ?(free_gimple_type_tables): Likewise.
> ? ? ? ?* lto-streamer-in.c (input_gimple_stmt): Use gimple_types_compatible_p.
> ? ? ? ?* tree-ssa.c (useless_type_conversion_p): Likewise.
>

I think this caused:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45013

-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]