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

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Note,
_ZThn24_N7mozilla3net13nsStandardURL16TemplatedMutatorIS1_E4InitEjiRK12nsTSubstringIcEPKcP6nsIURIPP13nsIURIMutator
in another ltrans has after IPA for the mRawPtr == 0 case:
  _20 = adjusted_this.133_3->D.7611.D.7550.D.7547.D.7544._vptr.nsISupports;
  _21 = MEM[(int (*__vtbl_ptr_type) () *)_20 + 200B];
  PROF_38 = [obj_type_ref] OBJ_TYPE_REF(_21;(struct
TemplatedMutator)adjusted_this.133_3->25B);
  PROF_39 = (void *) Create;
  if (PROF_39 == PROF_38)
    goto <bb 7>; [100.00%]
  else
    goto <bb 21>; [0.00%]
so clearly it is not unreachable, it is even speculatively devirtualizable (and
to the right function that is actually called).

Reply via email to