From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6020 invoked by alias); 12 Oct 2011 11:32:59 -0000 Received: (qmail 6011 invoked by uid 22791); 12 Oct 2011 11:32:58 -0000 X-SWARE-Spam-Status: No, hits=-2.9 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 12 Oct 2011 11:32:44 +0000 From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/50698] pretending to create versioning for alias when not required Date: Wed, 12 Oct 2011 11:32:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Keywords: alias, missed-optimization X-Bugzilla-Severity: minor X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Keywords Status Last reconfirmed AssignedTo Ever Confirmed Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 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 X-SW-Source: 2011-10/txt/msg01085.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50698 Richard Guenther changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |alias, missed-optimization Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2011-10-12 AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther 2011-10-12 11:31:56 UTC --- Confirmed: 14: versioning for alias required: can't determine dependence between *D.2220_26 and *D.2221_25 14: mark for run-time aliasing test between *D.2220_26 and *D.2221_25 D.2222_24 = D.2223_23 * 4; D.2221_25 = &mem + D.2222_24; D.2220_26 = &MEM[(void *)&mem + 4096B] + D.2222_24; ... = *D.2220_26; *D.2221_25 = ...; (res = {(float *) &MEM[(void *)&mem + 4096B], +, 4}_1)) base_address: &MEM[(void *)&mem + 4096B] offset from base address: 0 constant offset from base address: 0 step: 4 aligned to: 128 base_object: *(float *) &MEM[(void *)&mem + 4096B] Access function 0: {0B, +, 4}_1 vs. (res = {(float *) &mem, +, 4}_1)) base_address: &mem offset from base address: 0 constant offset from base address: 0 step: 4 aligned to: 128 base_object: *(float *) &mem Access function 0: {0B, +, 4}_1 I will have a look.