Re: GCC 4.2.0 Status Report (2007-04-24)

2007-04-26 Thread Richard Guenther
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)

2007-04-26 Thread Mark Mitchell
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


Re: GCC 4.2.0 Status Report (2007-04-24)

2007-04-25 Thread Richard Guenther
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)

2007-04-25 Thread Diego Novillo
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)

2007-04-25 Thread Mark Mitchell
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


GCC 4.2.0 Status Report (2007-04-24)

2007-04-24 Thread Mark Mitchell
[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



[Committed] Fix PR30222 for 4.2 [Was: Re: GCC 4.2.0 Status Report (2007-04-24)]

2007-04-24 Thread Andrew Pinski

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);