From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29292 invoked by alias); 25 Jul 2005 15:29:00 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 29204 invoked by uid 48); 25 Jul 2005 15:28:47 -0000 Date: Mon, 25 Jul 2005 15:29:00 -0000 Message-ID: <20050725152847.29203.qmail@sourceware.org> From: "steven at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040120070316.13761.dann@godzilla.ics.uci.edu> References: <20040120070316.13761.dann@godzilla.ics.uci.edu> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug tree-optimization/13761] [tree-ssa] component refs to the same struct should not alias X-Bugzilla-Reason: CC X-SW-Source: 2005-07/txt/msg03218.txt.bz2 List-Id: ------- Additional Comments From steven at gcc dot gnu dot org 2005-07-25 15:28 ------- The example from comment #3 now optimizes to identical inner loops: ;; Function foo (foo) foo () { int i.54; int lsm_tmp.32; int lsm_tmp.31; int i; int D.1628; int D.1627; int D.1623; int x.0; : x.0 = x; D.1623 = x.0 * x.0; lsm_tmp.32 = y; i.54 = 0; :; lsm_tmp.32 = (int) ((unsigned int) D.1623 + (unsigned int) lsm_tmp.32); i.54 = i.54 + 1; if (i.54 != 10) goto ; else goto ; :; y = lsm_tmp.32; D.1627 = global.x; D.1628 = D.1627 * D.1627; lsm_tmp.31 = global.y; i = 0; :; lsm_tmp.31 = (int) ((unsigned int) lsm_tmp.31 + (unsigned int) D.1628); i = i + 1; if (i != 10) goto ; else goto ; :; global.y = lsm_tmp.31; return; } -- What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13761