https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88739
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #45523|0 |1 is obsolete| | --- Comment #50 from Richard Biener <rguenth at gcc dot gnu.org> --- Created attachment 45532 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45532&action=edit adjusted patch This adjusts the workaround to use type_has_mode_precision_p on all targets. It also includes IL verification (definitely not to be backported). As of pessimizing cases it's merely cases like the testcase where we might fail to elide a memory object that is initialized only via !type_has_mode_precision_p stores but read in byte-size chunks. The existing VN trick for unknown reason limits itself to multiples of BITS_PER_UNIT sized accesses in addition to the check that somewhat resembles type_has_mode_precision_p but applied to the load we want to elide given other constraints on the BIT_FIELD_REF IL. We may want to elide the multiple_p (ref->size, BITS_PER_UNIT) check for GCC 10.