https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84947
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Richard Biener from comment #3) > bool > propagate_bits_across_jump_function (cgraph_edge *cs, int idx, > ipa_jump_func *jfunc, > ipcp_bits_lattice *dest_lattice) > { > ... > /* For K&R C programs, ipa_get_type() could return NULL_TREE. > Avoid the transform for these cases. */ > if (!parm_type) > { > if (dump_file && (dump_flags & TDF_DETAILS)) > fprintf (dump_file, "Setting dest_lattice to bottom, because" > " param %i type is NULL for %s\n", idx, > cs->callee->name ()); > > return dest_lattice->set_to_bottom (); > } > > unsigned precision = TYPE_PRECISION (parm_type); > signop sgn = TYPE_SIGN (parm_type); > > those two accesses only work for INTEGRAL_TYPE_P types. So maybe > the !parm_type should be instead > > if (!parm_type || !INTEGRAL_TYPE_P (parm_type)) !(INTEGRAL_TYPE_P (parm_type) || POINTER_TYPE_P (parm_type)) of course. > ? (with appropriate adjustment of the dump message) Does IPA-CP in any way handle jump functions of float types?