> On 3 Dec 2025, at 12:30 pm, Kugan Vivekanandarajah <[email protected]>
> wrote:
>
> External email: Use caution opening links or attachments
>
>
>> On 2 Dec 2025, at 8:06 pm, Jan Hubička <[email protected]> wrote:
>>
>> External email: Use caution opening links or attachments
>>
>>
>> On Fri, Nov 28, 2025 at 9:33 AM Kugan Vivekanandarajah
>> <[email protected]> wrote:
>> Hi,
>>
>>
>> In i 'inline_functions_by_afdo' that attempts to inline functions guided
>> by AutoFDO profiles unnecessarily sets'inlined' flag to true. This patch
>> just removes this.
>> This is actually causing ICE in some cases.
>>
>>
>> gcc/ChangeLog:
>>
>> 2025-11-27 Kugan Vivekanandarajah <[email protected]>
>>
>> * ipa-inline.cc (inline_functions_by_afdo): Remove resetting bool
>> inlined.
>>
>>
>> Is this OK?
>> OK,
>> This looks like some sort of pastor. Thanks for catching it. I wonder how
>> this causes an ICE? It should only force one extra update of the inline
>> summary.
>
>
I reverted the patch as this was wrong.
We have inline_call also as part of this, we need the inlined = true.
Sorry I missed this.
Thanks,
Kugan
> I am seeing this now:
>
> internal compiler error: in release_body, at cgraph.cc:2232
> 0x3ad0413 internal_error(char const*, ...)
> ../../gcc/gcc/diagnostic-global-context.cc:787
> 0x3adfce7 fancy_abort(char const*, int, char const*)
> ../../gcc/gcc/diagnostics/context.cc:1805
> 0x13570e7 cgraph_node::release_body(bool)
> ../../gcc/gcc/cgraph.cc:2232
> 0x180fc87 symbol_table::remove_unreachable_nodes(_IO_FILE*)
> ../../gcc/gcc/ipa.cc:545
> 0x19e2c8b execute_todo
> ../../gcc/gcc/passes.cc:2163
>
>>
>
> This goes away if I use -fno-auto-profile-inlining
>
> Also:
> (gdb) p *node
> $1 = {<symtab_node> = {<toplevel_node> = {lto_file_data = 0x0, order = 39,
> type = SYMTAB_FUNCTION}, resolution = LDPR_PREVAILING_DEF_IRONLY, definition
> = 1, alias = 0, transparent_alias = 0, weakref = 0, cpp_implicit_alias = 0,
> symver = 0, analyzed = 1, writeonly = 0, refuse_visibility_changes = 0,
> externally_visible = 0, no_reorder = 0, force_output = 0, forced_by_abi = 0,
> unique_name = 0, implicit_section = 0, body_removed = 0,
> semantic_interposition = 1, used_from_other_partition = 0, in_other_partition
> = 0, address_taken = 0, in_init_priority_hash = 0, need_lto_streaming =
> 0, offloadable = 0, ifunc_resolver = 0, decl = 0xfffff76e9e00, next =
> 0xfffff76a4300, previous = 0xfffff76a2cc0, next_sharing_asm_name = 0x0,
> previous_sharing_asm_name = 0xfffff7999550, same_comdat_group = 0x0, ref_list
> = {
> references = {m_vec = 0x51248f0}, referring = {m_vec = 0x0}},
> alias_target = 0x0, aux = 0x0, x_comdat_group = 0x0, x_section = 0x0, m_uid =
> 40}, callees = 0x0, callers = 0x0, indirect_calls = 0x0, next_sibling_clone =
> 0x0, prev_sibling_clone = 0x0, clones = 0x0, clone_of = 0xfffff7999550,
> call_site_hash = 0x0, former_clone_of = 0x0, simdclone = 0x0, simd_clones =
> 0x0, ipa_transforms_to_apply = {m_vec = 0x0}, inlined_to = 0xfffff76a2cc0,
> rtl = 0x0, count = {static n_bits = 60, static max_count =
> 1152921504606846974, static uninitialized_count = 1152921504606846975,
> m_val = 1152921504606846975, m_quality = GUESSED_LOCAL},
> count_materialization_scale = 10000, profile_id = 0, unit_id = 0,
> tp_first_run = 0, thunk = 0, used_as_abstract_origin = 0, lowered = 1,
> process = 0, frequency = NODE_FREQUENCY_NORMAL, only_called_at_startup =
> 0, only_called_at_exit = 0, tm_clone = 0, dispatcher_function = 0,
> dispatcher_resolver_function = 0, is_target_clone = 0, calls_comdat_local =
> 0, icf_merged = 0, nonfreeing_fn = 0, merged_comdat = 0,
> merged_extern_inline = 0, parallelized_function = 0, split_part = 0,
> indirect_call_target = 0, local = 1, versionable = 0, can_change_signature =
> 1, redefined_extern_inline = 0, tm_may_enter_irr = 0, ipcp_clone = 0,
> gc_candidate = 0, called_by_ifunc_resolver = 0, has_omp_variant_constructs
> = 0, m_summary_id = 1}
>
> This has inlined_to = 0xfffff76a2cc0
>
> Thanks,
> Kugan
>
>
>> Honza
>>
>> Thanks,
>> Kugan
>
>