https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63851 --- Comment #4 from Francois-Xavier Coudert --- (In reply to Martin LiÅ¡ka from comment #2) > There's a pair of functions 'g' and 'h' that are proved by IPA ICF to be > equal and thunk is created (darwin does not have alias support). If you look at the tree dump, h's argument has restrict but not g: h (struct array7_integer(kind=4) & restrict x) { check ((struct array7_integer(kind=4) *) x); } g (struct array7_integer(kind=4) & x) { check ((struct array7_integer(kind=4) *) x); } Shouldn't that disable semantic equality/equivalence? >From gcc-bugs-return-468806-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Nov 27 23:31:10 2014 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 301 invoked by alias); 27 Nov 2014 23:31:09 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 32730 invoked by uid 48); 27 Nov 2014 23:31:06 -0000 From: "cbaylis at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/64012] GCC-4.9.2 option -fcaller-saves in -O2 Date: Thu, 27 Nov 2014 23:31:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 4.9.2 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: cbaylis at gcc dot gnu.org X-Bugzilla-Status: RESOLVED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_status cc resolution Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-11/txt/msg03278.txt.bz2 Content-length: 678 https://gcc.gnu.org/bugzilla/show_bug.cgi?idd012 cbaylis at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED CC| |cbaylis at gcc dot gnu.org Resolution|--- |INVALID --- Comment #7 from cbaylis at gcc dot gnu.org --- This is caused by an invalid implementation of memset in (old versions of) the Linux kernel. I investigated this, a longer description is on the Linaro bugzilla at https://bugs.linaro.org/show_bug.cgi?id’8#c7