https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64374

--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #10)
> I see another issue.  When we stream in
> OPTIMIZATION_NODE/TARGET_OPTIONS_NODE, we don't use
> build_optimization_node/build_target_option_node and thus we don't merge
> identical nodes by hashing them together in between different streamed in
> TUs (or does it happen somehow else)?  If it doesn't happen, then it
> unnecessarily slows down lto1, because it needs to reinitialize the backend
> more often and switch in between different target options even when they are
> effectively the same.
> Though, of course, if we'd hash them together, we'd need to call some target
> hook to resync the streamed in options with the global state before hashing
> them together, because they can't be changed while they are in the hash
> table.

As discussed with Richard on IRC, this is likely non-issue - while the nodes
won't be merged using the normal hash table, they will be merged through LTO
tree merging.

Reply via email to