Ping ^ 4 > -----Original Message----- > From: Joey Ye [mailto:joey...@arm.com] > Sent: Friday, February 14, 2014 9:58 > To: gcc-patches@gcc.gnu.org > Subject: RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes to 4.8 > > Ping ^3 > > These fixes are very important to 4.8 ARM embedded users, as they rely on > strict volatile bitfields a lot. Please let them in 4.8. > > > -----Original Message----- > > From: Joey Ye [mailto:joey...@arm.com] > > Sent: Saturday, February 08, 2014 10:42 > > To: gcc-patches@gcc.gnu.org > > Subject: RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes to > > 4.8 > > > > Ping ^ 2 > > > > OK to 4.8? > > > > > -----Original Message----- > > > From: Joey Ye [mailto:joey...@arm.com] > > > Sent: Monday, January 20, 2014 10:47 > > > To: gcc-patches@gcc.gnu.org > > > Subject: RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes > > > to 4.8 > > > > > > Ping > > > > > > > -----Original Message----- > > > > From: Joey Ye [mailto:joey...@arm.com] > > > > Sent: Thursday, January 16, 2014 16:28 > > > > To: gcc-patches@gcc.gnu.org > > > > Subject: [PATCH][4.8] Backport strict-volatile-bitfields fixes to > > > > 4.8 > > > > > > > > 4.8 has a number of strict-volatile-bitfields issues that can be > > > > fixed by following patches. > > > > trunk@205899, 205898, 205897, 205896, 203003 > > > > > > > > Tested on x86_64 and arm without regression. > > > > > > > > OK to 4.8? > > > > > > > > 2013-09-28 Sandra Loosemore <san...@codesourcery.com> > > > > > > > > gcc/ > > > > * expr.h (extract_bit_field): Remove packedp parameter. > > > > * expmed.c (extract_fixed_bit_field): Remove packedp parameter > > > > from forward declaration. > > > > (store_split_bit_field): Remove packedp arg from calls to > > > > extract_fixed_bit_field. > > > > (extract_bit_field_1): Remove packedp parameter and packedp > > > > argument from recursive calls and calls to extract_fixed_bit_field. > > > > (extract_bit_field): Remove packedp parameter and corresponding > > > > arg to extract_bit_field_1. > > > > (extract_fixed_bit_field): Remove packedp parameter. > > > > Remove > > code > > > > to issue warnings. > > > > (extract_split_bit_field): Remove packedp arg from call to > > > > extract_fixed_bit_field. > > > > * expr.c (emit_group_load_1): Adjust calls to extract_bit_field. > > > > (copy_blkmode_from_reg): Likewise. > > > > (copy_blkmode_to_reg): Likewise. > > > > (read_complex_part): Likewise. > > > > (store_field): Likewise. > > > > (expand_expr_real_1): Likewise. > > > > * calls.c (store_unaligned_arguments_into_pseudos): Adjust call > > > > to extract_bit_field. > > > > * config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Adjust > > > > call to extract_bit_field. > > > > * config/tilepro/tilepro.c (tilepro_expand_unaligned_load): Adjust > > > > call to extract_bit_field. > > > > * doc/invoke.texi (Code Gen Options): Remove mention of > warnings > > > > and special packedp behavior from -fstrict-volatile-bitfields > > > > documentation. > > > > > > > > 2013-12-11 Bernd Edlinger <bernd.edlin...@hotmail.de> > > > > > > > > * expr.c (expand_assignment): Remove dependency on > > > > flag_strict_volatile_bitfields. Always set the memory > > > > access mode. > > > > (expand_expr_real_1): Likewise. > > > > > > > > 2013-12-11 Sandra Loosemore <san...@codesourcery.com> > > > > > > > > PR middle-end/23623 > > > > PR middle-end/48784 > > > > PR middle-end/56341 > > > > PR middle-end/56997 > > > > > > > > gcc/ > > > > * expmed.c (strict_volatile_bitfield_p): New function. > > > > (store_bit_field_1): Don't special-case strict volatile > > > > bitfields here. > > > > (store_bit_field): Handle strict volatile bitfields here instead. > > > > (store_fixed_bit_field): Don't special-case strict volatile > > > > bitfields here. > > > > (extract_bit_field_1): Don't special-case strict volatile > > > > bitfields here. > > > > (extract_bit_field): Handle strict volatile bitfields here instead. > > > > (extract_fixed_bit_field): Don't special-case strict volatile > > > > bitfields here. Simplify surrounding code to resemble that in > > > > store_fixed_bit_field. > > > > * doc/invoke.texi (Code Gen Options): Update > > > > -fstrict-volatile-bitfields description. > > > > > > > > gcc/testsuite/ > > > > * gcc.dg/pr23623.c: New test. > > > > * gcc.dg/pr48784-1.c: New test. > > > > * gcc.dg/pr48784-2.c: New test. > > > > * gcc.dg/pr56341-1.c: New test. > > > > * gcc.dg/pr56341-2.c: New test. > > > > * gcc.dg/pr56997-1.c: New test. > > > > * gcc.dg/pr56997-2.c: New test. > > > > * gcc.dg/pr56997-3.c: New test. > > > > > > > > 2013-12-11 Bernd Edlinger <bernd.edlin...@hotmail.de> > > > > Sandra Loosemore <san...@codesourcery.com> > > > > > > > > PR middle-end/23623 > > > > PR middle-end/48784 > > > > PR middle-end/56341 > > > > PR middle-end/56997 > > > > * expmed.c (strict_volatile_bitfield_p): Add bitregion_start > > > > and bitregion_end parameters. Test for compliance with C++ > > > > memory model. > > > > (store_bit_field): Adjust call to strict_volatile_bitfield_p. > > > > Add fallback logic for cases where -fstrict-volatile-bitfields > > > > is supposed to apply, but cannot. > > > > (extract_bit_field): Likewise. Use narrow_bit_field_mem and > > > > extract_fixed_bit_field_1 to do the extraction. > > > > (extract_fixed_bit_field): Revert to previous mode > > > > selection > > algorithm. > > > > Call extract_fixed_bit_field_1 to do the real work. > > > > (extract_fixed_bit_field_1): New function. > > > > > > > > testsuite: > > > > * gcc.dg/pr23623.c: Update to test interaction with C++ > > > > memory model. > > > > > > > > 2013-12-11 Bernd Edlinger <bernd.edlin...@hotmail.de> > > > > > > > > PR middle-end/59134 > > > > * expmed.c (store_bit_field): Use narrow_bit_field_mem and > > > > store_fixed_bit_field_1 for -fstrict-volatile-bitfields. > > > > (store_fixed_bit_field): Split up. Call store_fixed_bit_field_1 > > > > to do the real work. > > > > (store_fixed_bit_field_1): New function. > > > > (store_split_bit_field): Limit the unit size to the memory mode size, > > > > to prevent recursion. > > > > > > > > testsuite: > > > > * gcc.c-torture/compile/pr59134.c: New test. > > > > * gnat.dg/misaligned_volatile.adb: New test. > > > > > > > > > > > >
all.diff
Description: Binary data