[Bug tree-optimization/88739] [7/8/9 Regression] Big-endian union bug
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Jan 25 10:03:00 GMT 2019
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.
More information about the Gcc-bugs
mailing list