https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114855
--- Comment #45 from Richard Biener <rguenth at gcc dot gnu.org> --- I noticed that get_bitmask_from_range(tree_node*, generic_wide_int<wide_int_storage> const&, generic_wide_int<wide_int_storage> const&) is quite high on the profile accumulating profile hits on wide_int_storage::operator=(wide_int_storage const&) I wonder if irange_bitmask::irange_bitmask can be micro-optimized somehow for the case of a wi::zero 'value'? Likewise whether ::set_unknown in using assigns instead of inits like : m_value (..) makes a difference.