From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6320 invoked by alias); 8 Feb 2014 02:42:51 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 6307 invoked by uid 89); 8 Feb 2014 02:42:50 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: service87.mimecast.com Received: from service87.mimecast.com (HELO service87.mimecast.com) (91.220.42.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 08 Feb 2014 02:42:49 +0000 Received: from cam-owa2.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.21]) by service87.mimecast.com; Sat, 08 Feb 2014 02:42:46 +0000 Received: from E103005 ([10.1.255.212]) by cam-owa2.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.3959); Sat, 8 Feb 2014 02:42:42 +0000 From: "Joey Ye" To: References: In-Reply-To: Subject: RE: [PATCH][4.8] Backport strict-volatile-bitfields fixes to 4.8 Date: Sat, 08 Feb 2014 02:42:00 -0000 Message-ID: <000401cf2477$6873a030$395ae090$@arm.com> MIME-Version: 1.0 X-MC-Unique: 114020802424600201 Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: quoted-printable X-SW-Source: 2014-02/txt/msg00512.txt.bz2 Ping ^ 2 OK to 4.8? > -----Original Message----- > From: Joey Ye [mailto:joey.ye@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 >=20 > Ping >=20 > > -----Original Message----- > > From: Joey Ye [mailto:joey.ye@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 > > > > 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 > > > > * 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 > > > > 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 > > Sandra Loosemore > > > > 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 > > > > 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. > > > > > >