lto/106334 - relax assert during WPA tree merging
authorRichard Biener <rguenther@suse.de>
Tue, 19 Jul 2022 08:02:40 +0000 (10:02 +0200)
committerRichard Biener <rguenther@suse.de>
Tue, 19 Jul 2022 09:16:27 +0000 (11:16 +0200)
commit0f129766fdb687394f0eea04f69268b5cc034cda
treedcb37a8c6cde95c824d901c330f75ae029c9f786
parent40f6e5912288256ee8ac41474f2dce7b6881c111
lto/106334 - relax assert during WPA tree merging

The dwarf2out map of tree to symbol + offset is populated too early
when streaming in trees so that when WPA tree merging decides to
recycle them the mapping prevails and if we are unlucky the same
address is used for another tree with a symbol + offset DIE to
record.  The following mitigates the resulting ICE by relaxing the
assert, allowing re-use of a slot during WPA.  Delaying the register
would be better but it's already somewhat hairy and uglifying this
further doesn't look too important right now.

PR lto/106334
* dwarf2out.cc (dwarf2out_register_external_die): Allow
map entry re-use during WPA.
gcc/dwarf2out.cc