2018-09-25 Richard Biener <rguenther@suse.de>
commit99194174b97b904be8ee6e70848058676dec5752
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 25 Sep 2018 07:30:56 +0000 (25 07:30 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 25 Sep 2018 07:30:56 +0000 (25 07:30 +0000)
treef883dd5aadd59a51a70d9a87975ac982538cb873
parentf903ba0b58e38eb6d46b5a1b94ebf206a4e85a77
2018-09-25  Richard Biener  <rguenther@suse.de>

PR debug/83941
* dwarf2out.c (struct sym_off_pair): New.
(external_die_map): New global.
(lookup_decl_die): When in LTO create DIEs lazily from the
external_die_map.
(lookup_block_die): New function, create DIEs lazily in LTO.
(equate_block_to_die): New function.
(dwarf2out_die_ref_for_decl): During WPA get the association
from the external DIE map.
(dwarf2out_register_external_die): Record mapping into the
external DIE map.
(maybe_create_die_with_external_ref): New function split out from
DIE generation part of old dwarf2out_register_external_die.
(add_abstract_origin_attribute): Do not return the DIE.  When
in LTO reference externals directly.
(dwarf2out_abstract_function): When in LTO ignore calls for
decls with external DIEs (already present abstract instances).
(gen_call_site_die): Adjust.
(add_high_low_attributes): Likewise.
(gen_lexical_block_die): Likewise.
(gen_inlined_subroutine_die): Likewie.
(gen_block_die): Likewise.
(dwarf2out_inline_entry): Likewise.
(dwarf2out_early_finish): In LTRANS phase create DW_TAG_imported_unit
DIEs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@264564 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/dwarf2out.c