[Bug ipa/68851] [6 Regression] ICE: in set_comdat_group, at ipa-comdats.c:213
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Dec 14 12:23:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68851
--- Comment #7 from Martin Liška <marxin at gcc dot gnu.org> ---
Thanks Markus for reduction of the test-case.
For the minimized test, the constrop clone has properly unset a comdat group.
Comdat group for the node:
_ZNK1G20isFormControlElementEv.constprop.0/10 (<built-in>) @0x7ffff6a2f170
Type: function definition analyzed
Visibility:
previous sharing asm name: 11
References:
Referring:
Clone of _ZNK1G20isFormControlElementEv/1
Availability: local
First run: 0
Function flags: local icf_merged nonfreeing_fn
Called by: _ZThn8_NK1G20isFormControlElementEv/3 (1.00 per call) (can throw
external)
Calls:
is set here:
#0 ipa_comdats () at ../../gcc/ipa-comdats.c:367
#1 0x00000000013fcc93 in (anonymous namespace)::pass_ipa_comdats::execute
(this=0x21abfc0) at ../../gcc/ipa-comdats.c:412
#2 0x0000000000c43564 in execute_one_pass (pass=pass@entry=0x21abfc0) at
../../gcc/passes.c:2336
#3 0x0000000000c44252 in execute_ipa_pass_list (pass=0x21abfc0) at
../../gcc/passes.c:2756
#4 0x000000000095d33a in ipa_passes () at ../../gcc/cgraphunit.c:2300
#5 symbol_table::compile (this=this@entry=0x7ffff68d10a8) at
../../gcc/cgraphunit.c:2386
#6 0x000000000095fe68 in compile (this=0x7ffff68d10a8) at
../../gcc/cgraphunit.c:2520
#7 symbol_table::finalize_compilation_unit (this=0x7ffff68d10a8) at
../../gcc/cgraphunit.c:2546
#8 0x0000000000d0b6e0 in compile_file () at ../../gcc/toplev.c:489
#9 0x00000000006023d1 in do_compile () at ../../gcc/toplev.c:1977
#10 toplev::main (this=this@entry=0x7fffffffdb80, argc=argc@entry=13,
argv=argv@entry=0x7fffffffdc88) at ../../gcc/toplev.c:2084
#11 0x00000000006045c7 in main (argc=13, argv=0x7fffffffdc88) at
../../gcc/main.c:39
As I mentioned, the assert is triggered for a node we create clone of
(_ZNK1G20isFormControlElementEv/1), which has the comdat group
already set (by FE). I'm wondering, when creating a clone of a thunk, whether
cgraph_node::thunk should not be duplicated?
Martin
More information about the Gcc-bugs
mailing list