From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6549 invoked by alias); 4 Dec 2008 17:16:03 -0000 Received: (qmail 5362 invoked by alias); 4 Dec 2008 17:14:41 -0000 Date: Thu, 04 Dec 2008 17:16:00 -0000 Message-ID: <20081204171441.5361.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug tree-optimization/38401] TreeSSA-PRE load after store misoptimization In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "dberlin at dberlin dot org" 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: 2008-12/txt/msg00414.txt.bz2 ------- Comment #4 from dberlin at gcc dot gnu dot org 2008-12-04 17:14 ------- Subject: Re: TreeSSA-PRE load after store misoptimization That would be incorrect. Partial partial (Partial antic, Partial Avail). PRE is necessary to catch all the cases LCM does (and RTL PRE is LCM based). LCM includes partial partial by default in it's dataflow equations. In fact, it's mostly a waste of time, which is why it's only on at O3+ (LCM spends 30% of it's dataflow equations computing this, IIRC) richi's code looks correct, i'm not sure why the by_all was in there originally, since that would be partial antic, full avail, not partial antic, partial avail. My recollection is that getting the theoretical lifetime optimality when doing partial antic, partial avail requires evaluating code placement of phi nodes. On Thu, Dec 4, 2008 at 11:58 AM, steven at gcc dot gnu dot org wrote: > > > ------- Comment #2 from steven at gcc dot gnu dot org 2008-12-04 16:58 ------- > If RTL pre can catch this, then so should tree-PRE without enabling > partial-partial PRE. > > > -- > > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38401 > > ------- You are receiving this mail because: ------- > You are on the CC list for the bug, or are watching someone who is. > -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38401