From: Richard Biener Date: Mon, 8 Dec 2025 09:25:21 +0000 (+0100) Subject: ipa/122456 - fix ICE during LTO profiledbootstrap X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3dfd545671f0b3ffb2bd5166637381665fea7ebb;p=thirdparty%2Fgcc.git ipa/122456 - fix ICE during LTO profiledbootstrap When we have a speculated edge but we folded the call to __builtin_unreachable () then trying to update the cgraph ICEs in resolve_speculation because there's no symtab node for __builtin_unreachable (). Reject this resolving attempt similar as to when the callees decl were NULL or it were not semantically equivalent. I only have a LTRANS unit as testcase. PR ipa/122456 * cgraph.cc (cgraph_edge::resolve_speculation): Handle a NULL symtab_node::get (callee_decl). --- diff --git a/gcc/cgraph.cc b/gcc/cgraph.cc index abea2e2d2ae..9e273642dab 100644 --- a/gcc/cgraph.cc +++ b/gcc/cgraph.cc @@ -1515,9 +1515,10 @@ cgraph_edge::resolve_speculation (cgraph_edge *edge, tree callee_decl) e2 = edge; ref = e2->speculative_call_target_ref (); edge = edge->speculative_call_indirect_edge (); + symtab_node *callee; if (!callee_decl - || !ref->referred->semantically_equivalent_p - (symtab_node::get (callee_decl))) + || !(callee = symtab_node::get (callee_decl)) + || !ref->referred->semantically_equivalent_p (callee)) { if (dump_file) {