https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119852
Bug ID: 119852 Summary: The output of -fdump-ipa-clones can contain "(null)" as the suffix/reason for cloning Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ipa Assignee: unassigned at gcc dot gnu.org Reporter: jamborm at gcc dot gnu.org CC: hubicka at gcc dot gnu.org Target Milestone: --- The output of -fdump-ipa-clones can contain "(null)" as the suffix/reason for cloning, for example when compiling our own testcase testsuite/gcc.dg/ipa/pr58106.c: ~/gcc/trunk/inst/bin/gcc -O3 -S -fdump-ipa-clones ~/gcc/trunk/src/gcc/testsuite/gcc.dg/ipa/pr58106.c the generated file contains entries: Callgraph clone;for_each_rtx_1.isra.0;1;/home/mjambor/gcc/trunk/src/gcc/testsuite/gcc.dg/ipa/pr58106.c;28;1;for_each_rtx_1.isra.0;1;/home/mjambor/gcc/trunk/src/gcc/testsuite/gcc.dg/ipa/pr58106.c;28;1;(null) Callgraph clone;for_each_rtx_1.constprop.0.isra.0;1;/home/mjambor/gcc/trunk/src/gcc/testsuite/gcc.dg/ipa/pr58106.c;28;1;for_each_rtx_1.constprop.0.isra.0;1;/home/mjambor/gcc/trunk/src/gcc/testsuite/gcc.dg/ipa/pr58106.c;28;1;(null) These are apparently results of the following snippet from function recursive_inlining in ipa-inline.c: /* We need original clone to copy around. */ master_clone = node->create_clone (node->decl, node->count, false, vNULL, true, NULL, NULL); I guess in this case we should simply not output any record of the clone used for copying stuff. However there is one more invocation of create_clone with both parameters new_inlined_to and suffix set to NULL which could lead to the same result in function input_node in lto-cgraph.cc: clone_ref = streamer_read_hwi (ib); bool has_thunk_info; fn_decl = lto_input_fn_decl_ref (ib, file_data); if (clone_ref != LCC_NOT_FOUND) { node = dyn_cast<cgraph_node *> (nodes[clone_ref])->create_clone (fn_decl, profile_count::uninitialized (), false, vNULL, false, NULL, NULL); } Because of -fdump-ipa-clones, I'd also argue that the suffix parameter of create_clone should not default to NULL too.