https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123888

--- Comment #24 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
_ZN7mozilla3net13nsStandardURL16TemplatedMutatorIS1_E4InitEjiRK12nsTSubstringIcEPKcP6nsIURIPP13nsIURIMutator
(whose thunk is the speculated call on one of the OBJ_TYPE_REF calls in
NewStandardURI) is clearly const propagated, because
  return NS_MutateURI(new nsStandardURL::Mutator())
      .Apply(&nsIStandardURLMutator::Init, nsIStandardURL::URLTYPE_AUTHORITY,
             aDefaultPort, aSpec, aCharset, aBaseURI, nullptr)
      .Finalize(aURI);
passes NULL to it as the last argument (i.e. aMutator).
And during wpa I see redirect_to_unreachable being called when
_ZN7mozilla3net13nsStandardURL16TemplatedMutatorIS1_E4InitEjiRK12nsTSubstringIcEPKcP6nsIURIPP13nsIURIMutator
is being cloned to
_ZN7mozilla3net13nsStandardURL16TemplatedMutatorIS1_E4InitEjiRK12nsTSubstringIcEPKcP6nsIURIPP13nsIURIMutator.constprop.0
but unsure why, during
#0  redirect_to_unreachable (e=0x7fffe7462888) at
../../gcc/ipa-fnsummary.cc:263
#1  0x000000000099bdf7 in edge_set_predicate (e=0x7fffe7462888,
predicate=0x7ffffffeb140) at ../../gcc/ipa-fnsummary.cc:300
#2  0x000000000099e2ba in ipa_fn_summary_t::duplicate (this=0x7fffe7b7eb60,
src=0x7fffe81e9550, dst=0x7fffe8040770, src_info=0x7fffe781ddc0,
info=0x7fffe7fb8b58)
    at ../../gcc/ipa-fnsummary.cc:939
#3  0x00000000009b1fe0 in fast_function_summary<ipa_fn_summary*,
va_gc>::symtab_duplication (node=0x7fffe81e9550, node2=0x7fffe8040770,
data=0x7fffe7b7eb60)
    at ../../gcc/symbol-summary.h:509
#4  0x0000000000587bf9 in symbol_table::call_cgraph_duplication_hooks
(this=0x7fffe9806000, node=0x7fffe81e9550, node2=0x7fffe8040770) at
../../gcc/cgraph.cc:650
#5  0x00000000005a72a8 in cgraph_node::create_virtual_clone
(this=0x7fffe81e9550, redirect_callers=..., tree_map=0x7fffe76b88e8,
param_adjustments=0x7fffe7cb9480, 
    suffix=0x4e38ee9 "constprop", num_suffix=0) at
../../gcc/cgraphclones.cc:746
#6  0x000000000384797f in create_specialized_node (node=0x7fffe81e9550,
known_csts=..., known_contexts=..., aggvals=0x0, callers=...) at
../../gcc/ipa-cp.cc:5188
the src->indirect_calls edges have NULL callee rather than unreachable.

Reply via email to