From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6043 invoked by alias); 3 Jul 2008 11:50:35 -0000 Received: (qmail 5348 invoked by alias); 3 Jul 2008 11:49:48 -0000 Date: Thu, 03 Jul 2008 11:50:00 -0000 Message-ID: <20080703114948.5346.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/36713] [4.4 regression] r137252 breaks -O2 optimization on x86_64-unknown-linux-gnu In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenther at suse dot de" 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-07/txt/msg00170.txt.bz2 ------- Comment #8 from rguenther at suse dot de 2008-07-03 11:49 ------- Subject: Re: [4.4 regression] r137252 breaks -O2 optimization on x86_64-unknown-linux-gnu On Thu, 3 Jul 2008, dfranke at gcc dot gnu dot org wrote: > ------- Comment #7 from dfranke at gcc dot gnu dot org 2008-07-03 11:42 ------- > Differences in *.optimized dumps seem to be variable renaming only, e.g. > - temp.1140 = tdata->p; > + temp.1137 = tdata->p; > > Differences in *.alias seems to be mostly of the kind: > -PARM_NOALIAS.895 = &ANYTHING > +PARM_NOALIAS.895 = &ESCAPED > > However, I also found: > -PARM_NOALIAS.895 = { ANYTHING ESCAPED NONLOCAL } > -D.3410_6 = same as thread_data > -thread_data = { ANYTHING } > -D.3411_7 = same as thread_data > +PARM_NOALIAS.895 = { ESCAPED NONLOCAL } > +D.3410_6 = same as derefaddrtmp.893 > +thread_data = same as derefaddrtmp.893 <---- ?!? > +D.3411_7 = same as derefaddrtmp.893 Well, it's not really different - only thread_data now doesn't point to anything but to the same as derefaddrtmp.893 (I guess that points to { ESCAPED NONLOCAL }?). > which might hint at the problem: the variable thread_data is an allocated > POINTER to a vector of structures (which hold more pointers), public within a > module. USE-ing it, makes it (sort of) local to the function. Most (>80% of > all) changes in *.optimized where in the one source file that uses this module > ... > > Richard, would this fit the bill? Well, if there is no difference in the optimized dumps then this doesn't explain it (but the points-to differences also look good). Richard. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36713