GCC 4.2.0 Status Report (2007-04-24)
[I apologize to those of you receiving duplicate copies of this mail. I thought so hard about copying people that I forgot to address to the list.] Table of contents: 1. PRs 2. Schedule 3. Rationale If you're in the CC: list, there are possible action items for you below. (Recent feedback was to provide more frequent status reports and to nag more -- I'll do my best!) PRs === At this point, we're very, very close to meeting the (admittedly limited) goal for 4.2.0 of having no P1 regressions from 4.1.x. The remaining PRs are: 1. PR 26792: libstdc++ on Darwin uses functions not present in the system libgcc This PR has apparently been fixed on the mainline. If a Darwin maintainer (Dale, Mike, Geoff) would like to backport this to 4.2, that would be great. 2. PR 30222: crash on gcc.target/i386/vectorize1.c This PR is apparently due to only part of a mainline patch being applied to 4.2. It was so diagnosed in December 2006, but nobody has identified the missing part of the mainline patch. Andrew, as you've diagnosed the problem, would you please identify the solution? 3. PR 30567: Wrong code with -O3 due to aliasing problems Richard G. has analyzed this and proposed a patch. Richard, is this ready to go? If not, do you need help? 4. PR 31360: Missed optimization I don't generally mark missed optimization bugs as P1, but not hoisting loads of zero out of a 4-instruction loop is bad. Zdenek has fixed this on mainline. Andrew says that patch has a bug. So, what's the story here? Schedule I'm not going to consider any of these issues blockers after Sunday, April 29. At that point, I plan to freeze the branch and build a release candidate. Then, about a week later, I plan to release 4.2.0. There has been more than enough time for people to test and fix bugs. Rationale = There are far too many constraints on releases to make everyone happy. All of the following objectives and suggestions have been made by intelligent, knowledgeable people: 1. Release early and often. 2. Take longer between releases so there's more time for major development. 3. Align releases with distributor schedules. 4. Take a feature-driven view: release when a pre-defined set of new features are available. 5. Take a time-driven view: release on a particular date, no matter what. 6. Take a quality-driven view: release when there are no severe bugs. I've gotten a little paralyzed with this release. I've wanted to take some combination of (4), (5), and (6), and I've made a hash of it. I'm going to cut my losses and 4.2.0 out the door. -- Mark Mitchell CodeSourcery [EMAIL PROTECTED] (650) 331-3385 x713
Re: GCC 4.2.0 Status Report (2007-04-24)
On Tue, 24 Apr 2007, Mark Mitchell wrote: > 3. PR 30567: Wrong code with -O3 due to aliasing problems > > Richard G. has analyzed this and proposed a patch. Richard, is this > ready to go? If not, do you need help? I guess I can only produce a workaround, as I'm not too deeply into the aliasing stuff. So I'd prefer if Danny or Diego could have a look (Danny apperantly doesn't have time to do so, my bets for Diego are similar), but I'll give the workaround I thought of a try. (No, the patch in the audit trail doesn't fix anything...) Richard. -- Richard Guenther <[EMAIL PROTECTED]> Novell / SUSE Labs SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 - GF: Markus Rex
Re: GCC 4.2.0 Status Report (2007-04-24)
Richard Guenther wrote on 04/25/07 03:54: > I guess I can only produce a workaround, as I'm not too deeply into > the aliasing stuff. So I'd prefer if Danny or Diego could have a look > (Danny apperantly doesn't have time to do so, my bets for Diego are > similar), but I'll give the workaround I thought of a try. (No, the > patch in the audit trail doesn't fix anything...) I'll take a look today.
Re: GCC 4.2.0 Status Report (2007-04-24)
Hello, > 4. PR 31360: Missed optimization > > I don't generally mark missed optimization bugs as P1, but not hoisting > loads of zero out of a 4-instruction loop is bad. Zdenek has fixed this > on mainline. Andrew says that patch has a bug. So, what's the story here? I found the problem, I will send a patch once it passes regtesting. Zdenek
Re: GCC 4.2.0 Status Report (2007-04-24)
Zdenek Dvorak wrote: > Hello, > >> 4. PR 31360: Missed optimization >> >> I don't generally mark missed optimization bugs as P1, but not hoisting >> loads of zero out of a 4-instruction loop is bad. Zdenek has fixed this >> on mainline. Andrew says that patch has a bug. So, what's the story here? > > I found the problem, I will send a patch once it passes regtesting. Thanks! -- Mark Mitchell CodeSourcery [EMAIL PROTECTED] (650) 331-3385 x713
Re: GCC 4.2.0 Status Report (2007-04-24)
On Wed, 25 Apr 2007, Diego Novillo wrote: > Richard Guenther wrote on 04/25/07 03:54: > > > I guess I can only produce a workaround, as I'm not too deeply into > > the aliasing stuff. So I'd prefer if Danny or Diego could have a look > > (Danny apperantly doesn't have time to do so, my bets for Diego are > > similar), but I'll give the workaround I thought of a try. (No, the > > patch in the audit trail doesn't fix anything...) > > I'll take a look today. Danny identified the fix on the mainline, I applied it to the branch after testing. So that's fixed as well. Richard.
Re: GCC 4.2.0 Status Report (2007-04-24)
Richard Guenther wrote: > On Wed, 25 Apr 2007, Diego Novillo wrote: > >> Richard Guenther wrote on 04/25/07 03:54: >> >>> I guess I can only produce a workaround, as I'm not too deeply into >>> the aliasing stuff. So I'd prefer if Danny or Diego could have a look >>> (Danny apperantly doesn't have time to do so, my bets for Diego are >>> similar), but I'll give the workaround I thought of a try. (No, the >>> patch in the audit trail doesn't fix anything...) >> I'll take a look today. > > Danny identified the fix on the mainline, I applied it to the branch > after testing. So that's fixed as well. Thanks!! -- Mark Mitchell CodeSourcery [EMAIL PROTECTED] (650) 331-3385 x713
[Committed] Fix PR30222 for 4.2 [Was: Re: GCC 4.2.0 Status Report (2007-04-24)]
On 4/24/07, Mark Mitchell <[EMAIL PROTECTED]> wrote: 2. PR 30222: crash on gcc.target/i386/vectorize1.c This PR is apparently due to only part of a mainline patch being applied to 4.2. It was so diagnosed in December 2006, but nobody has identified the missing part of the mainline patch. Andrew, as you've diagnosed the problem, would you please identify the solution? This is what I am checking in to the 4.2 branch. I bootstrapped and tested on x86-linux-gnu with no regressions and fixes the testcase. This is a back port of part of: http://gcc.gnu.org/ml/gcc-patches/2006-11/msg00702.html Which was also part of the orginal patch which was supposed to fix this patch: http://gcc.gnu.org/ml/gcc-patches/2006-10/msg00566.html. Thanks, Andrew Pinski 2007-04-24 Andrew Pinski <[EMAIL PROTECTED]> Roger Sayle <[EMAIL PROTECTED]> PR middle-end/30222 * expmed.c (make_tree): Use the correct type, i.e. the inner type, when constructing the individual elements of a CONST_VECTOR. Index: ChangeLog === --- ChangeLog (revision 124139) +++ ChangeLog (working copy) @@ -1,3 +1,10 @@ +2007-04-24 Andrew Pinski <[EMAIL PROTECTED]> +Roger Sayle <[EMAIL PROTECTED]> + + PR middle-end/30222 + * expmed.c (make_tree): Use the correct type, i.e. the inner + type, when constructing the individual elements of a CONST_VECTOR. + 2007-04-24 Ian Lance Taylor <[EMAIL PROTECTED]> PR tree-optimization/31605 Index: expmed.c === --- expmed.c(revision 124139) +++ expmed.c(working copy) @@ -4976,17 +4976,17 @@ make_tree (tree type, rtx x) case CONST_VECTOR: { - int i, units; - rtx elt; + int units = CONST_VECTOR_NUNITS (x); + tree itype = TREE_TYPE (type); tree t = NULL_TREE; + int i; - units = CONST_VECTOR_NUNITS (x); /* Build a tree with vector elements. */ for (i = units - 1; i >= 0; --i) { - elt = CONST_VECTOR_ELT (x, i); - t = tree_cons (NULL_TREE, make_tree (type, elt), t); + rtx elt = CONST_VECTOR_ELT (x, i); + t = tree_cons (NULL_TREE, make_tree (itype, elt), t); } return build_vector (type, t);