public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/29581]  New: Latent bug in 4.1/4.2/4.3 lambda-code.c
@ 2006-10-24 15:21 jakub at gcc dot gnu dot org
  2006-11-08 16:25 ` [Bug tree-optimization/29581] " dberlin at gcc dot gnu dot org
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-10-24 15:21 UTC (permalink / raw)
  To: gcc-bugs

SUBROUTINE FOO (K)
      INTEGER I, J, K, A(5,5), B
      COMMON A
      A(1,1) = 1
 10   B = 0
      DO 30 I = 1, K
        DO 20 J = 1, K
          B = B + A(I,J)
 20     CONTINUE
        A(I,I) = A(I,I) * 2
 30   CONTINUE
      IF (B.GE.3) RETURN
      GO TO 10
      END SUBROUTINE

      PROGRAM BAR
        CALL FOO (2)
      END

is miscompiled on redhat/gcc-4_1-branch, with -O2 -ftree-loop-linear,
I believe on all arches, tested at least ppc -m32 and x86_64 -m64.
Unfortunately, I couldn't reproduce this on gcc-4_1-branch nor on the
trunk, because the statements coming from earlier passes
are slightly different, though IMHO valid in all 3 cases while what
-ftree-loop-linear creates is clearly invalid.  I believe it is a latent
bug in lambda-code.c (see below), although I don't have any testcases
that would prove it on non-vendor branches.

All vars used in foo are int4, the body in *.empty is on
redhat/gcc-4_1-branch:

<bb 0>:
  __BLNK__.a[0] = 1;
  D.684_14 = *k_13;
  goto <bb 2> (<L24>);
__label_000010:;
<L24>:;
  if (D.684_14 > 0) goto <L28>; else goto __label_000010;
<L28>:;
  # b_5 = PHI <0(3), b_37(8)>;
  # i_1 = PHI <1(3), i_28(8)>;
<L25>:;
  pretmp.29_7 = i_1 + -6;
  # j_9 = PHI <1(4), j_35(6)>;
  # b_6 = PHI <b_5(4), b_33(6)>;
<L3>:;
  D.697_29 = j_9 * 5;
  D.698_30 = pretmp.29_7;
  D.699_31 = pretmp.29_7 + D.697_29;
  D.700_32 = __BLNK__.a[D.699_31];
  b_33 = D.700_32 + b_6;
  j_35 = j_9 + 1;
  if (j_9 == D.684_14) goto <L8>; else goto <L30>;
<L30>:;
  goto <bb 5> (<L3>);
  # b_37 = PHI <b_33(5)>;
<L8>:;
  D.701_18 = i_1 * 5;
  D.702_19 = pretmp.29_7;
  D.703_20 = pretmp.29_7 + D.701_18;
  D.704_24 = __BLNK__.a[D.703_20];
  D.705_25 = D.704_24 * 2;
  __BLNK__.a[D.703_20] = D.705_25;
  if (i_1 == D.684_14) goto <L13>; else goto <L31>;
<L31>:;
  i_28 = i_1 + 1;
  goto <bb 4> (<L25>);
  # b_8 = PHI <b_37(7)>;
<L13>:;
  if (b_8 > 2) goto __return_foo; else goto __label_000010;
__return_foo:;
  return;

On gcc-4_1-branch the difference is just that pretmp.29_7 doesn't
exist, all users of that have i_1 + -6 instead.  On the trunk,
pretmp var is only used in the innermost loop (L3..L30) and after
L8 label it instead uses i_1 * 6 + -6.  Now, -ftree-loop-linear
on the above determines the L3..L30 loop isn't perfectly
nested in L25..L31 but can_convert_to_perfect_nest says it can
be converted to perfect nest, because the pretmp.9_7 = i_1 + -6;
satisfies:
                  /* If the IV is simple, it can be duplicated.  */
                  if (!automatically_generated_chrec_p (scev))
                    {
                      tree step = evolution_part_in_loop_num (scev, loop->num);
                      if (step && step != chrec_dont_know
                          && TREE_CODE (step) == INTEGER_CST)
                        continue;
                    }

-ftree-loop-linear then changes the loops, so that the b computation
is done using 2 nested loops and the *2 multiplication in a separate
loop.  Unfortunately, it doesn't compute the start of the loop
correctly, above, the first __BLKN__.a[] that is multiplied by 2 is
pretmp.29_7 + i_1 * 5 = i_1 * 6 - 6 where i_1 starts at 1,
but after the transformation it is perfectiv.32_12 * 5 + perfectiv.32_12:

...
  # perfectiv.32_12 = PHI <1(11), perfectiv.32_39(14)>;
<L34>:;
<bb 13>:
  uboundvar.33_40 = D.684_14 + 1;
  perfectiv.32_39 = perfectiv.32_12 + 1;
  D.701_18 = perfectiv.32_12 * 5;
  D.702_19 = perfectiv.32_12;
  D.703_20 = perfectiv.32_12 + D.701_18;
  D.704_24 = __BLNK__.a[D.703_20];
  D.705_25 = D.704_24 * 2;
  __BLNK__.a[D.703_20] = D.705_25;
  if (uboundvar.33_40 >= perfectiv.32_39) goto <L35>; else goto <L13>;
<L35>:;
  goto <bb 12> (<L34>);

can_convert_to_perfect_nest only looks at evolution part of the scev:

              if (TREE_CODE (stmt) == MODIFY_EXPR)
                {
                  use_operand_p use_a, use_b;
                  imm_use_iterator imm_iter;
                  ssa_op_iter op_iter, op_iter1;
                  tree op0 = TREE_OPERAND (stmt, 0);
                  tree scev = instantiate_parameters
                    (loop, analyze_scalar_evolution (loop, op0));

                  /* If the IV is simple, it can be duplicated.  */
                  if (!automatically_generated_chrec_p (scev))
                    {
                      tree step = evolution_part_in_loop_num (scev, loop->num);
                      if (step && step != chrec_dont_know
                          && TREE_CODE (step) == INTEGER_CST)
                        continue;
                    }

and replace_uses_equiv_to_x_with_y happily replaces vars with the perfectiv
if the evolution part of the scev is constant and equal to the loop step:

static void
replace_uses_equiv_to_x_with_y (struct loop *loop, tree stmt, tree x,
                                int xstep, tree y)
{
  ssa_op_iter iter;
  use_operand_p use_p;

  FOR_EACH_SSA_USE_OPERAND (use_p, stmt, iter, SSA_OP_USE)
    {
      tree use = USE_FROM_PTR (use_p);
      tree step = NULL_TREE;
      tree scev = instantiate_parameters (loop,
                                          analyze_scalar_evolution (loop,
use));

      if (scev != NULL_TREE && scev != chrec_dont_know)
        step = evolution_part_in_loop_num (scev, loop->num);

      if ((step && step != chrec_dont_know
           && TREE_CODE (step) == INTEGER_CST
           && int_cst_value (step) == xstep)
          || USE_FROM_PTR (use_p) == x)
        SET_USE (use_p, y);
    }
}

For USE_FROM_PTR (use_p) == x that's fine and if
i1 = initial_condition_in_loop_num (scev, loop->num) is equal to
i2 = initial_condition_in_loop_num (instantiate_parameters (loop,
analyze_scalar_evolution (loop, x)))
value of y that's fine too.  But if it is not, I believe we need to
replace use with y + i1 - i2.
In the testcase I posted, USE's initial_condition_in_loop_num is
-5 and X's initial_condition_in_loop_num is 1.  And, adding -5 - 1
to perfectiv (aka Y in the above routine) is exactly what would
cure this testcase.

Do you agree with this?

Not sure how hard is that though, other alternative would be to make
can_convert_to_perfect_nest more conservative.


-- 
           Summary: Latent bug in 4.1/4.2/4.3 lambda-code.c
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jakub at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29581


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/29581] Latent bug in 4.1/4.2/4.3 lambda-code.c
  2006-10-24 15:21 [Bug tree-optimization/29581] New: Latent bug in 4.1/4.2/4.3 lambda-code.c jakub at gcc dot gnu dot org
@ 2006-11-08 16:25 ` dberlin at gcc dot gnu dot org
  2006-11-13 10:16 ` jakub at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: dberlin at gcc dot gnu dot org @ 2006-11-08 16:25 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from dberlin at gcc dot gnu dot org  2006-11-08 16:24 -------
(In reply to comment #0)

> In the testcase I posted, USE's initial_condition_in_loop_num is
> -5 and X's initial_condition_in_loop_num is 1.  And, adding -5 - 1
> to perfectiv (aka Y in the above routine) is exactly what would
> cure this testcase.
> 
> Do you agree with this?
> 

I agree completely with your analysis.  If you want to work up a fix to do
that, i'm happy to approve it (It should suffice to generate the initial
condition in the loop header and use that as the starting point for the new iv
variable).


> Not sure how hard is that though, other alternative would be to make
> can_convert_to_perfect_nest more conservative.
> 


-- 

dberlin at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2006-11-08 16:24:55
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29581


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/29581] Latent bug in 4.1/4.2/4.3 lambda-code.c
  2006-10-24 15:21 [Bug tree-optimization/29581] New: Latent bug in 4.1/4.2/4.3 lambda-code.c jakub at gcc dot gnu dot org
  2006-11-08 16:25 ` [Bug tree-optimization/29581] " dberlin at gcc dot gnu dot org
@ 2006-11-13 10:16 ` jakub at gcc dot gnu dot org
  2006-11-13 14:09 ` pinskia at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-11-13 10:16 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from jakub at gcc dot gnu dot org  2006-11-13 10:16 -------
Created an attachment (id=12601)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12601&action=view)
gcc43-pr29581-tests.patch

Testcases that show this bug even on the trunk (taken from vect-8{5,6,7,8}.c,
removed vector related stuff from it, added -O2 -ftree-loop-linear).
With my preliminary fix for this PR all these seem to be fixed (on a release
only checking gcc), unfortunately with checking enabled I'm getting
tree checking failures like:
error: statement makes a memory store, but has no V_MAY_DEFS nor V_MUST_DEFS
perfecttmp.42 = perfectiv.40_5 + 16;
I called update_stmt, o not sure what I'm still missing.

BTW, with -ftree-loop-linear also fortran forall_1.f90 and scalarize.f90 are
miscompiled, but that problem isn't fixed by my patch, so perhaps there are
other bugs.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29581


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/29581] Latent bug in 4.1/4.2/4.3 lambda-code.c
  2006-10-24 15:21 [Bug tree-optimization/29581] New: Latent bug in 4.1/4.2/4.3 lambda-code.c jakub at gcc dot gnu dot org
  2006-11-08 16:25 ` [Bug tree-optimization/29581] " dberlin at gcc dot gnu dot org
  2006-11-13 10:16 ` jakub at gcc dot gnu dot org
@ 2006-11-13 14:09 ` pinskia at gcc dot gnu dot org
  2006-11-13 16:56 ` jakub at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-11-13 14:09 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from pinskia at gcc dot gnu dot org  2006-11-13 14:09 -------
> error: statement makes a memory store, but has no V_MAY_DEFS nor V_MUST_DEFS
> perfecttmp.42 = perfectiv.40_5 + 16;
> I called update_stmt, o not sure what I'm still missing.

You forgot to mark perfecttmp.42 for renaming (or manually name it yourself).


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29581


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/29581] Latent bug in 4.1/4.2/4.3 lambda-code.c
  2006-10-24 15:21 [Bug tree-optimization/29581] New: Latent bug in 4.1/4.2/4.3 lambda-code.c jakub at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2006-11-13 14:09 ` pinskia at gcc dot gnu dot org
@ 2006-11-13 16:56 ` jakub at gcc dot gnu dot org
  2006-11-15  9:35 ` jakub at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-11-13 16:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from jakub at gcc dot gnu dot org  2006-11-13 16:56 -------
Created an attachment (id=12607)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12607&action=view)
gcc43-pr29581.patch

Yeah, found that out too earlier today.
This is the fix which I have regtested, including
RUNTESTFLAGS=--target_board=unix/-ftree-loop-linear.


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #12601|0                           |1
        is obsolete|                            |
         AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29581


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/29581] Latent bug in 4.1/4.2/4.3 lambda-code.c
  2006-10-24 15:21 [Bug tree-optimization/29581] New: Latent bug in 4.1/4.2/4.3 lambda-code.c jakub at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2006-11-13 16:56 ` jakub at gcc dot gnu dot org
@ 2006-11-15  9:35 ` jakub at gcc dot gnu dot org
  2006-11-15  9:37 ` jakub at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-11-15  9:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from jakub at gcc dot gnu dot org  2006-11-15 09:35 -------
Subject: Bug 29581

Author: jakub
Date: Wed Nov 15 09:35:34 2006
New Revision: 118848

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=118848
Log:
        PR tree-optimization/29581
        * lambda-code.c (replace_uses_equiv_to_x_with_y): Add YINIT,
        REPLACEMENTS, FIRSTBSI arguments.  If initial condition or
        type is different between Y and USE, create a temporary
        variable, initialize it at the beginning of the body bb
        and use it as replacement instead of Y.

        * gcc.dg/pr29581-1.c: New test.
        * gcc.dg/pr29581-2.c: New test.
        * gcc.dg/pr29581-3.c: New test.
        * gcc.dg/pr29581-4.c: New test.
        * gfortran.dg/pr29581.f90: New test.

Added:
    trunk/gcc/testsuite/gcc.dg/pr29581-1.c
    trunk/gcc/testsuite/gcc.dg/pr29581-2.c
    trunk/gcc/testsuite/gcc.dg/pr29581-3.c
    trunk/gcc/testsuite/gcc.dg/pr29581-4.c
    trunk/gcc/testsuite/gfortran.dg/pr29581.f90
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/lambda-code.c
    trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29581


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/29581] Latent bug in 4.1/4.2/4.3 lambda-code.c
  2006-10-24 15:21 [Bug tree-optimization/29581] New: Latent bug in 4.1/4.2/4.3 lambda-code.c jakub at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2006-11-15  9:35 ` jakub at gcc dot gnu dot org
@ 2006-11-15  9:37 ` jakub at gcc dot gnu dot org
  2006-11-15  9:39 ` jakub at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-11-15  9:37 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from jakub at gcc dot gnu dot org  2006-11-15 09:37 -------
Subject: Bug 29581

Author: jakub
Date: Wed Nov 15 09:36:51 2006
New Revision: 118849

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=118849
Log:
        PR tree-optimization/29581
        * lambda-code.c (replace_uses_equiv_to_x_with_y): Add YINIT,
        REPLACEMENTS, FIRSTBSI arguments.  If initial condition or
        type is different between Y and USE, create a temporary
        variable, initialize it at the beginning of the body bb
        and use it as replacement instead of Y.

        * gcc.dg/pr29581-1.c: New test.
        * gcc.dg/pr29581-2.c: New test.
        * gcc.dg/pr29581-3.c: New test.
        * gcc.dg/pr29581-4.c: New test.
        * gfortran.dg/pr29581.f90: New test.

Added:
    branches/gcc-4_2-branch/gcc/testsuite/gcc.dg/pr29581-1.c
    branches/gcc-4_2-branch/gcc/testsuite/gcc.dg/pr29581-2.c
    branches/gcc-4_2-branch/gcc/testsuite/gcc.dg/pr29581-3.c
    branches/gcc-4_2-branch/gcc/testsuite/gcc.dg/pr29581-4.c
    branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/pr29581.f90
Modified:
    branches/gcc-4_2-branch/gcc/ChangeLog
    branches/gcc-4_2-branch/gcc/lambda-code.c
    branches/gcc-4_2-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29581


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/29581] Latent bug in 4.1/4.2/4.3 lambda-code.c
  2006-10-24 15:21 [Bug tree-optimization/29581] New: Latent bug in 4.1/4.2/4.3 lambda-code.c jakub at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2006-11-15  9:37 ` jakub at gcc dot gnu dot org
@ 2006-11-15  9:39 ` jakub at gcc dot gnu dot org
  2006-11-15  9:55 ` jakub at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-11-15  9:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from jakub at gcc dot gnu dot org  2006-11-15 09:39 -------
Subject: Bug 29581

Author: jakub
Date: Wed Nov 15 09:39:18 2006
New Revision: 118850

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=118850
Log:
        PR tree-optimization/29581
        * lambda-code.c (replace_uses_equiv_to_x_with_y): Add YINIT,
        REPLACEMENTS, FIRSTBSI arguments.  If initial condition or
        type is different between Y and USE, create a temporary
        variable, initialize it at the beginning of the body bb
        and use it as replacement instead of Y.

        * gcc.dg/pr29581-1.c: New test.
        * gcc.dg/pr29581-2.c: New test.
        * gcc.dg/pr29581-3.c: New test.
        * gcc.dg/pr29581-4.c: New test.
        * gfortran.dg/pr29581.f90: New test.

Added:
    branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/pr29581-1.c
    branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/pr29581-2.c
    branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/pr29581-3.c
    branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/pr29581-4.c
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/pr29581.f90
Modified:
    branches/gcc-4_1-branch/gcc/ChangeLog
    branches/gcc-4_1-branch/gcc/lambda-code.c
    branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29581


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/29581] Latent bug in 4.1/4.2/4.3 lambda-code.c
  2006-10-24 15:21 [Bug tree-optimization/29581] New: Latent bug in 4.1/4.2/4.3 lambda-code.c jakub at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2006-11-15  9:39 ` jakub at gcc dot gnu dot org
@ 2006-11-15  9:55 ` jakub at gcc dot gnu dot org
  2006-12-01  2:04 ` chaoyingfu at gcc dot gnu dot org
  2007-01-10 19:15 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu dot org @ 2006-11-15  9:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from jakub at gcc dot gnu dot org  2006-11-15 09:55 -------
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29581


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/29581] Latent bug in 4.1/4.2/4.3 lambda-code.c
  2006-10-24 15:21 [Bug tree-optimization/29581] New: Latent bug in 4.1/4.2/4.3 lambda-code.c jakub at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2006-11-15  9:55 ` jakub at gcc dot gnu dot org
@ 2006-12-01  2:04 ` chaoyingfu at gcc dot gnu dot org
  2007-01-10 19:15 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: chaoyingfu at gcc dot gnu dot org @ 2006-12-01  2:04 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from chaoyingfu at gcc dot gnu dot org  2006-12-01 02:00 -------
Subject: Bug 29581

Author: chaoyingfu
Date: Fri Dec  1 01:57:22 2006
New Revision: 119394

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119394
Log:
Merged revisions 118791-118987 via svnmerge from 
svn+ssh://chaoyingfu@sources.redhat.com/svn/gcc/trunk

........
  r118791 | gccadmin | 2006-11-13 16:17:39 -0800 (Mon, 13 Nov 2006) | 1 line

  Daily bump.
........
  r118793 | jiez | 2006-11-13 16:39:08 -0800 (Mon, 13 Nov 2006) | 4 lines

        * configure.in: Remove target-libgloss from noconfigdirs for
        bfin-*-*.
        * configure: Regenerated.
........
  r118794 | jiez | 2006-11-13 16:45:33 -0800 (Mon, 13 Nov 2006) | 4 lines

        * configure.in: Remove target-libgloss from noconfigdirs for
        bfin-*-*.
        * configure: Regenerated.
........
  r118798 | dj | 2006-11-13 18:29:46 -0800 (Mon, 13 Nov 2006) | 3 lines

  * config/m32c/m32c.c (m32c_prepare_shift): Use a separate
  temporary for intermediates.
........
  r118802 | ghazi | 2006-11-13 21:08:46 -0800 (Mon, 13 Nov 2006) | 7 lines

        * fold-const.c (fold_strip_sign_ops): Handle COMPOUND_EXPR and
        COND_EXPR.

  testsuite:
        * gcc.dg/builtins-20.c: Add more cases.
........
  r118808 | bonzini | 2006-11-14 00:46:26 -0800 (Tue, 14 Nov 2006) | 16 lines

  2006-11-14  Paolo Bonzini  <bonzini@gnu.org>

        PR rtl-optimization/29798

        * fwprop.c (use_killed_between): Check that DEF_INSN dominates
        TARGET_INSN before any other check.
        (fwprop_init): Always calculate dominators.
        (fwprop_done): Always free them.

  2006-11-14  Paolo Bonzini  <bonzini@gnu.org>

        PR rtl-optimization/29798

        * gcc.c-torture/execute/pr29798.c: New.
........
  r118810 | bonzini | 2006-11-14 04:14:33 -0800 (Tue, 14 Nov 2006) | 7 lines

  2006-11-14  Paolo Bonzini  <bonzini@gnu.org>

        * Makefile.tpl (clean-stage*): Test separately for package/Makefile
        and stageN-package/Makefile.
        * Makefile.in: Regenerated.
........
  r118812 | burnus | 2006-11-14 07:35:36 -0800 (Tue, 14 Nov 2006) | 13 lines

  fortran/
  2006-11-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/29657
        * symbol.c (check_conflict): Add further conflicts.

  testsuite/
  2006-11-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/29657
        * gfortran.dg/conflicts.f90: Add.
........
  r118813 | erven | 2006-11-14 07:45:55 -0800 (Tue, 14 Nov 2006) | 1 line

   MAINTAINERS (Write After Approval): Add myself.
........
  r118814 | jsm28 | 2006-11-14 08:01:41 -0800 (Tue, 14 Nov 2006) | 3 lines

        * testsuite/26_numerics/complex/13450.cc: Do not test long double
        in IBM long double case.
........
  r118819 | mmitchel | 2006-11-14 09:15:08 -0800 (Tue, 14 Nov 2006) | 3 lines

        PR c++/29106
        * g++.dg/init/self1.C: New test.
........
  r118820 | burnus | 2006-11-14 09:31:00 -0800 (Tue, 14 Nov 2006) | 6 lines

  2006-11-14  Tobias Burnus  <burnus@net-b.de>

         * match.c (gfc_match_namelist): Add missing space to
           error message.
........
  r118821 | dberlin | 2006-11-14 10:12:20 -0800 (Tue, 14 Nov 2006) | 24 lines

  2006-11-14  Daniel Berlin  <dberlin@dberlin.org>

        Fix PR tree-optimization/27755

        * tree-ssa-pre.c: Update comments.
        (bb_bitmap_sets): Add pa_in and  deferred member.
        (BB_DEFERRED): New macro.
        (maximal_set): New variable.
        (pre_stats): Add pa_insert member.
        (bitmap_set_and): Short circuit orig == dest.
        (bitmap_set_subtract_values): New function.
        (bitmap_set_contains_expr): Ditto.
        (translate_vuses_through_block): Add phiblock argument.
        (dependent_clean): New function.
        (compute_antic_aux): Update for maximal_set changes.
        (compute_partial_antic_aux): New function.
        (compute_antic): Handle partial anticipation.
        (do_partial_partial_insertion): New function.
        (insert_aux): Handle partial anticipation.
        (add_to_sets): Add to maximal set.
        (compute_avail): Ditto.
        (init_pre): Initialize maximal_set.
        (execute_pre): Do partial anticipation if -O3+.
........
  r118823 | echristo | 2006-11-14 11:42:51 -0800 (Tue, 14 Nov 2006) | 4 lines

  2006-11-14  Eric Christopher  <echristo@apple.com>

          * configure: Regenerate with autoconf 2.59.
........
  r118825 | jsm28 | 2006-11-14 12:36:28 -0800 (Tue, 14 Nov 2006) | 5 lines

        * config/arm/arm.h (FUNCTION_ARG_ADVANCE): Only adjust
        iwmmxt_nregs if TARGET_IWMMXT_ABI.
        * config/arm/iwmmxt.md (movv8qi_internal, movv4hi_internal,
        movv2si_internal): Support moves between core registers.
........
  r118826 | ctice | 2006-11-14 12:55:56 -0800 (Tue, 14 Nov 2006) | 4 lines

  Add ability to generate DWARF pubtypes section if DEBUG_PUBTYPES_SECTION
  is defined.  Also add dejagnu testcases for pubtypes.
........
  r118827 | rguenth | 2006-11-14 14:01:08 -0800 (Tue, 14 Nov 2006) | 5 lines

  2006-11-14  Richard Guenther  <rguenther@suse.de>

          * gcc.target/i386/math-torture/math-torture.exp: Restrict
          to i?86 and x86_64 targets.
........
  r118829 | rearnsha | 2006-11-14 15:25:43 -0800 (Tue, 14 Nov 2006) | 11 lines

        * expmed.c (emit_store_flag_1): New function.
        (emit_store_flag): Call it.  If we can't find a suitable scc insn,
        try a cstore insn.
        * expr.c (do_store_flag): If we can't find a scc insn, try cstore.
        Use do_compare_rtx_and_jump.
        * arm.h (BRANCH_COST): Increase to 2 on Thumb.
        * arm.md (cstoresi4): New define_expand.
        (cstoresi_eq0_thumb, cstoresi_ne0_thumb): Likewise.
        (cstoresi_eq0_thumb_insn, cstore_ne0_thumb_insn): New patterns.
        (cstoresi_nltu_thumb, thumb_addsi3_addgeu): New patterns.
........
  r118835 | gccadmin | 2006-11-14 16:17:59 -0800 (Tue, 14 Nov 2006) | 1 line

  Daily bump.
........
  r118841 | brooks | 2006-11-14 19:49:21 -0800 (Tue, 14 Nov 2006) | 8 lines

  * lang.opt: Remove -fno-backend option.
  * gfortran.h (gfc_option_t): Remove flag_no_backend.
  * options.c (gfc_init_options): Remove flag_no_backend.
  (gfc_handle_option): Remove -fno-backend option handler.
  * parse.c (gfc_parse_file): Remove references to
  gfc_option.flag_no_backend.
........
  r118842 | brooks | 2006-11-14 19:52:03 -0800 (Tue, 14 Nov 2006) | 8 lines

  * gfortran.h (GFC_MAX_LINE): Remove constant definition.
  (gfc_option_t): Clarify comments.
  * options.c: Set default line length limits to actual default
  values, rather than flag values.
  * scanner.c: Eliminate checking and handling of the
  fixed/free_line_length flag values.
........
  r118843 | brooks | 2006-11-14 20:00:35 -0800 (Tue, 14 Nov 2006) | 14 lines

  PR fortran/29702
  * fortran/error.c (show_loci): Move column-offset calculation to
  show_locus.
  (show_locus): Remove blank lines before "Included in"
  lines, clean up code, calculate column-offsets, print
  column number is error-header lines as appropriate.
  (error_integer): (new function) Print integer to error
  buffer.
  (error_print): Use error_integer, avoid possible buffer
  overflows from buggy error formats.
  * testsuite/lib/gfortran-dg.exp (gfortran-dg-test): Ignore column
  numbers in error message headers.
........
  r118844 | bdavis | 2006-11-14 21:10:22 -0800 (Tue, 14 Nov 2006) | 14 lines

  2006-11-15  Bud Davis <bdavis9659@sbcglobal.net>

          PR fortran/28974
          * gfortran.h (gfc_expr): Add element which holds a splay-tree
          for the exclusive purpose of quick access to a constructor by
          offset.
          * data.c (find_con_by_offset): Use the splay tree for the search.
          (gfc_assign_data_value): Use the splay tree.
          (gfc_assign_data_value_range): ditto.
          * expr.c (gfc_get_expr): Initialize new element to null.
          (gfc_free_expr): Delete splay tree when deleting gfc_expr.
........
  r118845 | rguenth | 2006-11-15 00:07:03 -0800 (Wed, 15 Nov 2006) | 6 lines

  2006-11-15  Paolo Bonzini  <bonzini@gnu.org>

        PR middle-end/29753
        * gimplify.c (fold_indirect_ref_rhs): Use
        STRIP_USELESS_TYPE_CONVERSION rather than STRIP_NOPS.
........
  r118848 | jakub | 2006-11-15 01:35:34 -0800 (Wed, 15 Nov 2006) | 13 lines

        PR tree-optimization/29581
        * lambda-code.c (replace_uses_equiv_to_x_with_y): Add YINIT,
        REPLACEMENTS, FIRSTBSI arguments.  If initial condition or
        type is different between Y and USE, create a temporary
        variable, initialize it at the beginning of the body bb
        and use it as replacement instead of Y.

        * gcc.dg/pr29581-1.c: New test.
        * gcc.dg/pr29581-2.c: New test.
        * gcc.dg/pr29581-3.c: New test.
        * gcc.dg/pr29581-4.c: New test.
        * gfortran.dg/pr29581.f90: New test.
........
  r118851 | burnus | 2006-11-15 02:02:21 -0800 (Wed, 15 Nov 2006) | 14 lines

  fortran/
  2006-11-15  Tobias Burnus  <burnus@net-b.de>

         PR fortran/29806
         * parse.c (parse_contained): Check for empty contains statement.

  testsuite/
  2006-11-15  Tobias Burnus  <burnus@net-b.de>

         PR fortran/29806
         * gfortran.dg/contains.f90: New test.
         * gfortran.dg/derived_function_interface_1.f90: Add a dg-warning.
........
  r118852 | burnus | 2006-11-15 02:13:16 -0800 (Wed, 15 Nov 2006) | 16 lines

  fortran/
  2006-11-15  Tobias Burnus  <burnus@net-b.de>
              Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

         PR fortran/27588
         * trans-expr.c (gfc_conv_substring): Add bounds checking.
           (gfc_conv_variable, gfc_conv_substring_expr): Pass more
           arguments to gfc_conv_substring.

  testsuite/
  2006-11-15  Tobias Burnus  <burnus@net-b.de>

         PR fortran/27588
         * gfortran.dg/char_bounds_check_fail_1.f90: New test.
........
  r118853 | bernds | 2006-11-15 04:23:09 -0800 (Wed, 15 Nov 2006) | 3 lines

        * tree-ssa-loop-ivopts.c (determine_iv_costs): Fix formatting.
........
  r118854 | bernds | 2006-11-15 04:27:32 -0800 (Wed, 15 Nov 2006) | 4 lines

        * config/bfin/bfin.c (legitimize_pic_address): Lose dead code
        that tests for CONSTANT_POOL_ADDRESS_P.
........
  r118855 | amylaar | 2006-11-15 05:16:41 -0800 (Wed, 15 Nov 2006) | 7 lines

  2006-11-15  Rask Ingemann Lambertsen <rask@sygehus.dk>
            J"orn Rennecke <joern.rennecke@st.com>

        * combine.c (likely_spilled_retval_1): Fix masking operation.
        (likely_spilled_retval_p): Use proper pattern for call to
        likely_spilled_retval_1.
........
  r118856 | bernds | 2006-11-15 06:29:10 -0800 (Wed, 15 Nov 2006) | 7 lines

        * tree-flow.h (multiplier_allowed_in_address_p): Adjust prototype.
        * tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p): New
        arg MODE; all callers changed.  Use it to determine validity per
        machine mode instead of using Pmode for all memory references.
        (get_address_cost): Likewise add and use new arg MEM_MODE.
........
  r118857 | burnus | 2006-11-15 07:46:42 -0800 (Wed, 15 Nov 2006) | 24 lines

  fortran/
  2006-11-15  Tobias Burnus  <burnus@net-b.de>

         PR fortran/27546
         * decl.c (gfc_match_import,variable_decl):
           Add IMPORT support.
           (gfc_match_kind_spec): Fix typo in gfc_error.
         * gfortran.h (gfc_namespace, gfc_statement):
           Add IMPORT support.
         * parse.c (decode_statement,gfc_ascii_statement,
           verify_st_order): Add IMPORT support.
         * match.h: Add gfc_match_import.
         * gfortran.texi: Add IMPORT to the supported
           Fortran 2003 features.

  testsuite/
   2006-11-15  Tobias Burnus  <burnus@net-b.de>

         PR fortran/27546
         * gfortran.dg/import.f90: New test.
         * gfortran.dg/import2.f90: New test.
         * gfortran.dg/import3.f90: New test.
........
  r118858 | burnus | 2006-11-15 08:16:19 -0800 (Wed, 15 Nov 2006) | 6 lines

  2006-11-15  Tobias Burnus  <burnus@net-b.de>

         * parse.c (parse_contained): Fix indention
           of one line.
........
  r118859 | uros | 2006-11-15 08:21:58 -0800 (Wed, 15 Nov 2006) | 36 lines

        * config/i386/i386.opt: New target option -mx87regparm.

        * config/i386/i386.h (struct ix86_args): Add x87_nregs, x87_regno,
        float_in_x87: Add new variables. mmx_words, sse_words: Remove.
        (X87_REGPARM_MAX): Define.

        * config/i386/i386.c (override_options): Error out for
        -mx87regparm but no 80387 support.
        (ix86_attribute_table): Add x87regparm.
        (ix86_handle_cconv_attribute): Update comments for x87regparm.
        (ix86_comp_type_attributes): Check for mismatched x87regparm types.
        (ix86_function_x87regparm): New function.
        (ix86_function_arg_regno_p): Add X87_REGPARM_MAX 80387 floating
        point registers.
        (init_cumulative_args): Initialize x87_nregs and float_in_x87
        variables.
        (function_arg_advance): Process x87_nregs and x87_regno when
        floating point argument is to be passed in 80387 register.
        (function_arg): Pass XFmode arguments in 80387 registers for local
        functions.  Pass SFmode and DFmode arguments to local functions
        in 80387 registers when flag_unsafe_math_optimizations is set.

        * reg-stack.c (convert_regs_entry): Disable NaN load for
        stack registers that are used for argument passing.

        * doc/extend.texi: Document x87regparm function attribute.
        * doc/invoke.texi: Document -mx87regparm.

  testsuite/ChangeLog:

        * gcc.target/i386/x87regparm-1.c: New test.
        * gcc.target/i386/x87regparm-2.c: New test.
        * gcc.target/i386/x87regparm-3.c: New test.
        * gcc.target/i386/x87regparm-4.c: New test.
........
  r118861 | pinskia | 2006-11-15 09:04:56 -0800 (Wed, 15 Nov 2006) | 15 lines

  2006-11-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>

          PR tree-opt/29788
          * fold-const.c (fold_indirect_ref_1): Fold *&CONST_DECL down
          to what is the const decl is a place holder for.

  2006-11-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>

          PR tree-opt/29788
          * gfortran.fortran-torture/compile/inline_1.f90:
          New testcase.
........
  r118863 | bernds | 2006-11-15 09:54:55 -0800 (Wed, 15 Nov 2006) | 4 lines

        * tree-ssa-loop-ivopts.c (get_address_cost): Make sure memory
        addresses we generate for testing are aligned.
........
  r118864 | pbrook | 2006-11-15 10:12:17 -0800 (Wed, 15 Nov 2006) | 9 lines

  2006-11-15  Paul Brook  <paul@codesourcery.com>

        gcc/
        * config/arm/unwind-arm.c (_Unwind_GetDataRelBase,
        _Unwind_GetTextRelBase): Move from here ...
        * config/arm/pr-support.c (_Unwind_GetDataRelBase,
        _Unwind_GetTextRelBase): ... To here.
........
  r118868 | kargl | 2006-11-15 13:32:31 -0800 (Wed, 15 Nov 2006) | 5 lines

  2006-11-15  Steven G. Kargl  <kargl@gcc.gnu.org>

          * gfortran.dg/import3.f90: Fix error message.
........
  r118876 | gccadmin | 2006-11-15 16:17:49 -0800 (Wed, 15 Nov 2006) | 1 line

  Daily bump.
........
  r118879 | brooks | 2006-11-15 19:03:04 -0800 (Wed, 15 Nov 2006) | 3 lines

  * lang.opt: Rearrange entries back into ASCII order.
........
  r118880 | brooks | 2006-11-15 19:05:28 -0800 (Wed, 15 Nov 2006) | 12 lines

  * data.c: Remove trailing periods from error messages.
  * decl.c: Likewise.
  * expr.c: Likewise.
  * io.c: Likewise.
  * match.c: Likewise.
  * module.c: Likewise.
  * options.c: Likewise.
  * resolve.c: Likewise.
  * symbol.c: Likewise.
  * trans-io.c: Likewise.
........
  r118881 | hjl | 2006-11-15 19:50:16 -0800 (Wed, 15 Nov 2006) | 5 lines

  2006-11-15  H.J. Lu  <hongjiu.lu@intel.com>

        PR middle-end/29862
        * real.c (mpfr_from_real): Call mpfr_set_str before gcc_assert.
........
  r118882 | mkuvyrkov | 2006-11-15 22:57:59 -0800 (Wed, 15 Nov 2006) | 14 lines

  2006-11-16  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

        PR target/29201
        * cfgrtl.c (rtl_delete_block): Move the code for getting last insn of
        bb to ...
        (get_last_bb_insn): ... new global function.
        (basic_block.h): Declare it.
        * haifa-sched.c (create_recovery_block): Use it.

  2006-11-16  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

        PR target/29201
        * gcc.c-torture/compile/pr29201.c: New test for ia64 target.
........
  r118883 | uros | 2006-11-15 23:30:18 -0800 (Wed, 15 Nov 2006) | 7 lines

        * config/i386/i386.c (ix86_function_sseregparm): Fix comment:
        number of arguments passed to local functions in SSE registers is 3.

        * doc/invoke.texi (Function Attributes) [sseregparm]: Correct
        number of arguments passed in SSE registers to 3.
........
  r118884 | rearnsha | 2006-11-16 00:57:50 -0800 (Thu, 16 Nov 2006) | 4 lines

        * arm.md (abssi2): Allow Thumb as well.  Use an SImode scratch for
        Thumb.
        (arm_neg_abssi2): Renamed from neg_abssi2.
        (thumb_abssi2, thumb_neg_abssi2): New patterns with splitters.
........
  r118887 | fxcoudert | 2006-11-16 03:20:57 -0800 (Thu, 16 Nov 2006) | 5 lines

        * trans-decl.c (gfc_get_symbol_decl): Fix formatting.

        * io/open.c (new_unit): Format %d expects an int variable.
        * runtime/error.c (show_locus): Format %d expects an int variable.
........
  r118888 | fxcoudert | 2006-11-16 04:25:11 -0800 (Thu, 16 Nov 2006) | 11 lines

        PR fortran/29391
        PR fortran/29489

        * simplify.c (simplify_bound): Fix the simplification of
        LBOUND/UBOUND intrinsics.
        * trans-intrinsic.c (simplify_bound): Fix the logic, and
        remove an erroneous assert.

        * gcc/testsuite/gfortran.dg/bound_2.f90: Add more checks.
        * gcc/testsuite/gfortran.dg/bound_3.f90: New test.
........
  r118889 | jsm28 | 2006-11-16 05:36:23 -0800 (Thu, 16 Nov 2006) | 3 lines

        * config/rs6000/spe.md (frob_di_df_2): Handle non-offsettable
        memory operand.
........
  r118894 | rakdver | 2006-11-16 08:24:31 -0800 (Thu, 16 Nov 2006) | 4 lines

        * MAINTAINERS: Add myself and Daniel Berlin as loop optimizer
        maintainers.
........
  r118900 | ebotcazou | 2006-11-16 13:25:16 -0800 (Thu, 16 Nov 2006) | 8 lines

        PR middle-end/26306
        * gimplify.c (gimplify_expr): Only force a load for references to
        non-BLKmode volatile values.
        * doc/implement-c.texi (Qualifiers implementation): Document the
        interpretation of what a volatile access is.
        * doc/extend.texi (C++ Extensions): Rework same documentation.
........
  r118903 | mueller | 2006-11-16 14:07:30 -0800 (Thu, 16 Nov 2006) | 19 lines

  2006-11-16  Dirk Mueller  <dmueller@suse.de>

         * tree-vrp.c (get_value_range): Use XCNEW instead
         of XNEW and memset.
         (insert_range_assertions): Use XCNEWVEC instead
         of XNEWVEC and memset.
         (vrp_initialize): Same.
         (vrp_finalize): Same.
         * tree-ssa-ccp.c (ccp_initialize): Same.
         * predict.c (tree_bb_level_predictions): Same.
         * calls.c (expand_call): Same.
         * tree-ssa-copy.c (init_copy_prop): Same.
         (fini_copy_prop): Same.
         * tree-ssa-alias.c (get_ptr_info): Use GGC_CNEW instead
         of GGC_NEW and memset.

         * name-lookup.c (begin_scope): Use GGC_CNEW instead of
         GGC_NEW and memset.
........
  r118904 | mrs | 2006-11-16 14:26:09 -0800 (Thu, 16 Nov 2006) | 2 lines

        * Makefile.in (targhooks.o): Add $(OPTABS_H).
........
  r118910 | gccadmin | 2006-11-16 16:17:33 -0800 (Thu, 16 Nov 2006) | 1 line

  Daily bump.
........
  r118912 | jsm28 | 2006-11-16 16:25:05 -0800 (Thu, 16 Nov 2006) | 8 lines

        * gcc.dg/tree-ssa/stdarg-2.c, gcc.dg/tree-ssa/stdarg-4.c:
        Condition PowerPC tests for saving FPRs on powerpc_fprs.
        * gcc.target/powerpc/compress-float-ppc.c,
        gcc.target/powerpc/compress-float-ppc-pic.c: Only test if
        powerpc_fprs.
        * gcc.target/powerpc/rs6000-power2-2.c: Only test if powerpc_fprs;
        do not pass -mhard-float.
........
  r118914 | rearnsha | 2006-11-16 16:27:18 -0800 (Thu, 16 Nov 2006) | 2 lines

        * arm.h (CONSTANT_ALIGNMENT): Don't over-align strings when
        optimizing for size.
........
  r118917 | mrs | 2006-11-16 22:48:01 -0800 (Thu, 16 Nov 2006) | 8 lines

        * config/darwin.h (LINK_COMMAND_SPEC): Don't do dwarf stuff on
        pre-darwin9 system, unless the user asks for it directly.
        (PREFERRED_DEBUGGING_TYPE): Likewise.
        * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Likewise.
        * config.gcc: Add suppport for darwin9.h.
        * config/darwin9.h: Add.
        * doc/install.texi (Specific): Clarify darwin documentation.
........
  r118918 | uros | 2006-11-16 22:50:45 -0800 (Thu, 16 Nov 2006) | 3 lines

        * config/i386/i386.c (ix86_function_sseregparm): Missing comment
update.
........
  r118921 | jakub | 2006-11-17 00:57:45 -0800 (Fri, 17 Nov 2006) | 6 lines

        PR middle-end/29584
        * tree-ssa-forwprop.c (simplify_switch_expr): Don't
        optimize if DEF doesn't have integral type.

        * gcc.dg/torture/pr29584.c: New test.
........
  r118924 | rakdver | 2006-11-17 01:24:01 -0800 (Fri, 17 Nov 2006) | 4 lines

        * tree-ssa-alias.c (new_type_alias): Do not use offset of expr to
        select subvars of var.
........
  r118925 | rakdver | 2006-11-17 01:34:08 -0800 (Fri, 17 Nov 2006) | 8 lines

  2006-11-17  Zdenek Dvorak <dvorakz@suse.cz>

        * tree-vect-transform.c (vect_create_epilog_for_reduction): Fix
        formating.
        (vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer,
        vect_gen_niters_for_prolog_loop): Fold the emited expressions.
........
  r118926 | rakdver | 2006-11-17 02:29:07 -0800 (Fri, 17 Nov 2006) | 10 lines

        PR tree-optimization/29801
        * tree-ssa-ccp.c (get_symbol_constant_value): New function.
        (get_default_value): Use get_symbol_constant_value.
        (set_lattice_value): ICE when the value of the constant is
        changed.
        (visit_assignment): Ignore VDEFs of read-only variables.

        * gcc.dg/pr29801.c: New test.
........
  r118927 | bonzini | 2006-11-17 02:31:47 -0800 (Fri, 17 Nov 2006) | 18 lines

  2006-11-16  Paolo Bonzini  <bonzini@gnu.org>

        * Makefile.tpl (clean-target-libgcc): Test for gcc Makefile presence.
        (unstage): Test for stage_last presence.

        PR bootstrap/29802
        * Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Add HOST_SUBDIR in
STAGE_PREFIX.
        * Makefile.in: Regenerate.

  libada:
  2006-11-16  Paolo Bonzini  <bonzini@gnu.org>

        PR bootstrap/29802
        * configure.ac: Call GCC_TOPLEV_SUBDIRS.
        * configure: Regenerate.
        * Makefile.in: Replace host_subdir.
........
  r118930 | fxcoudert | 2006-11-17 03:11:25 -0800 (Fri, 17 Nov 2006) | 27 lines

        * gfortran.h (gfc_add_intrinsic_modules_path,
        gfc_open_intrinsic_module): New prototypes.
        (gfc_add_include_path, gfc_open_included_file): Update prototypes.
        * lang.opt: Add -fintrinsic-modules-path option.
        * module.c (gfc_match_use): Match the Fortran 2003 form of
        USE statement.
        (gfc_use_module): Also handle intrinsic modules. 
        * scanner.c (gfc_directorylist): Add use_for_modules for field.
        (intrinsic_modules_dirs): New static variable.
        (add_path_to_list, gfc_add_intrinsic_modules_path): New functions.
        (gfc_add_include_path): Use the new add_path_to_list helper
        function.
        (gfc_release_include_path): Free memory for intrinsic_modules_dirs.
        (open_included_file, gfc_open_intrinsic_module): New functions.
        (gfc_open_included_file): Use the new open_included_file
        helper function.
        * lang-specs.h: Use the new -fintrinsic-modules-path option.
        * parse.c (decode_statement): Do not match the required space
        after USE here.
        * options.c (gfc_handle_option): Handle the new option. Use new
        prototype for gfc_add_include_path.
        (gfc_post_options): Use new prototype for gfc_add_include_path.

        * gfortran.dg/use_1.f90: New test.
        * gfortran.dg/use_1.f90: New test.
        * gfortran.dg/use_1.f90: New test.
........
  r118931 | rakdver | 2006-11-17 03:29:17 -0800 (Fri, 17 Nov 2006) | 82 lines

        * tree-vrp.c (execute_vrp): Do not update current_loops.
        * loop-unswitch.c (unswitch_loop): Do not use loop_split_edge_with.
        * doc/loop.texi: Remove documentation for cancelled functions.
        * tree-ssa-loop-im.c (loop_commit_inserts): Removed.
        (move_computations, determine_lsm): Use bsi_commit_edge_inserts
        instead.
        * cfgloopmanip.c (remove_bbs): Do not update loops explicitly.
        (remove_path): Ensure that in delete_basic_blocks, the loops
        are still allocated.
        (add_loop): Work on valid loop structures.
        (loopify): Modify call of add_loop.
        (mfb_update_loops): Removed.
        (create_preheader): Do not update loops explicitly.
        (force_single_succ_latches, loop_version): Do not use
        loop_split_edge_with.
        (loop_split_edge_with): Removed.
        * tree-ssa-loop-manip.c (create_iv, determine_exit_conditions):
        Do not use bsi_insert_on_edge_immediate_loop.
        (split_loop_exit_edge, tree_unroll_loop): Do not use
        loop_split_edge_with.
        (bsi_insert_on_edge_immediate_loop): Removed.
        * tree-ssa-loop-ch.c (copy_loop_headers): Use current_loops.  Do not
        use loop_split_edge_with.
        * cfghooks.c: Include cfgloop.h.
        (verify_flow_info): Verify that loop_father is filled iff current_loops
        are available.
        (redirect_edge_and_branch_force, split_block, delete_basic_block,
        split_edge, merge_blocks, make_forwarder_block, duplicate_block):
        Update cfg.
        * cfgloopanal.c (mark_irreducible_loops): Work if the function contains
        no loops.
        * modulo-sched.c (generate_prolog_epilog, canon_loop): Do not use
        loop_split_edge_with.
        (sms_schedule): Use current_loops.
        * tree-ssa-dom.c (tree_ssa_dominator_optimize): Use current_loops.
        * loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Set
        current_loops.
        (rtl_loop_init, rtl_loop_done): Do not set current_loops.
        * tree-ssa-sink.c (execute_sink_code): Use current_loops.
        * ifcvt.c (if_convert): Ditto.
        * predict.c (predict_loops): Do not clear current_loops.
        (tree_estimate_probability): Use current_loops.
        (propagate_freq): Receive head of the region to propagate instead of
        loop.
        (estimate_loops_at_level): Do not use shared to_visit bitmap.
        (estimate_loops): New function.  Handle case current_loops == NULL.
        (estimate_bb_frequencies): Do not allocate tovisit.  Use
        estimate_loops.
        * tree-ssa-loop.c (current_loops): Removed.
        (tree_loop_optimizer_init): Do not return loops.
        (tree_ssa_loop_init, tree_ssa_loop_done): Do not set current_loops.
        * tree-vectorizer.c (slpeel_update_phi_nodes_for_guard1,
        slpeel_update_phi_nodes_for_guard2, slpeel_tree_peel_loop_to_edge):
        Do not update loops explicitly.
        * function.h (struct function): Add x_current_loops field.
        (current_loops): New macro.
        * tree-if-conv.c (combine_blocks): Do not update loops explicitly.
        * loop-unroll.c (split_edge_and_insert): New function.
        (unroll_loop_runtime_iterations, analyze_insns_in_loop): Do not
        use loop_split_edge_with.
        * loop-doloop.c (add_test, doloop_modify): Ditto.
        * tree-ssa-pre.c (init_pre, fini_pre): Do not set current_loops.
        * cfglayout.c (copy_bbs): Do not update loops explicitly.
        * lambda-code.c (perfect_nestify): Do not use loop_split_edge_with.
        * tree-vect-transform.c (vect_transform_loop): Do not update loops
        explicitly.
        * cfgloop.c (flow_loops_cfg_dump): Do not dump dfs_order and rc_order.
        (flow_loops_free): Do not free dfs_order and rc_order.
        (flow_loops_find): Do not set dfs_order and rc_order in loops
        structure.  Do not call loops and flow info verification.
        (add_bb_to_loop, remove_bb_from_loops): Check whether the block
        already belongs to some loop.
        * cfgloop.h (struct loops): Remove struct cfg.
        (current_loops, loop_split_edge_with): Declaration removed.
        (loop_optimizer_init, loop_optimizer_finalize): Declaration changed.
        * tree-flow.h (loop_commit_inserts, bsi_insert_on_edge_immediate_loop):
        Declaration removed.
        * Makefile.in (cfghooks.o): Add CFGLOOP_H dependency.
        * basic-block.h (split_edge_and_insert): Declare.
        * tree-cfg.c (remove_bb): Do not update loops explicitly.
........
  r118939 | ebotcazou | 2006-11-17 07:10:28 -0800 (Fri, 17 Nov 2006) | 5 lines

        PR ada/27936
        * trans.c (add_decl_expr): Do not dynamically elaborate padded objects
        if the initializer takes into account the padding.
........
  r118946 | bwilson | 2006-11-17 14:40:02 -0800 (Fri, 17 Nov 2006) | 2 lines

        * config/xtensa/lib1funcs.asm (__umulsidi3): Restore a0 on exit.
........
  r118947 | bwilson | 2006-11-17 14:46:57 -0800 (Fri, 17 Nov 2006) | 2 lines

        * config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
........
  r118948 | bwilson | 2006-11-17 14:55:13 -0800 (Fri, 17 Nov 2006) | 2 lines

        * config/xtensa/xtensa.md (entry): Do not emit .frame directive.
........
  r118949 | bwilson | 2006-11-17 14:59:50 -0800 (Fri, 17 Nov 2006) | 2 lines

        * config/xtensa/xtensa.md (tstsi): Delete
........
  r118952 | bwilson | 2006-11-17 15:10:48 -0800 (Fri, 17 Nov 2006) | 24 lines

        * config/xtensa/predicates.md (addsubx_operand): New.
        * config/xtensa/xtensa.c (xtensa_emit_branch): New.
        (xtensa_emit_bit_branch): New.
        (xtensa_emit_movcc): New.
        * config/xtensa/xtensa.md (any_minmax): New code macro.
        (minmax): New code attribute.
        (any_cond, any_scc, any_scc_sf): New code macros.
        (*addx2, *addx4, *addx8): Delete.
        (*addx): New.
        (*subx2, *subx4, *subx8): Delete.
        (*subx): New.
        (sminsi3, uminsi3, smaxsi3, umaxsi3): Use any_minmax macro.
        (beq, bne, bgt, bge, blt, ble, bgtu, bgeu, bltu, bleu): Use any_cond.
        (*btrue, *bfalse, *ubtrue, *ubfalse): Use xtensa_emit_branch.
        (*bittrue, *bitfalse): Use xtensa_emit_bit_branch.
        (seq, sne, sgt, sge, slt, sle): Use any_scc macro.
        (movsicc_internal0, movsicc_internal1): Use xtensa_emit_movcc.
        (movsfcc_internal0, movsfcc_internal1): Likewise.
        (seq_sf, slt_sf, sle_sf): Use any_scc_sf macro.
        * config/xtensa/xtensa-protos.h: (xtensa_emit_branch): New.
        (xtensa_emit_bit_branch): New.
        (xtensa_emit_movcc): New.
        (function_arg_boundary): Add missing prototype.
........
  r118953 | dj | 2006-11-17 15:15:29 -0800 (Fri, 17 Nov 2006) | 3 lines

  * reload1.c (reloads_unique_chain): New.
  (reloads_conflict): Call it.
........
  r118954 | jvdelisle | 2006-11-17 15:30:49 -0800 (Fri, 17 Nov 2006) | 4 lines

  2006-11-17  Jerry DeLisle  <jvdelisle@fcc.gnu.org

        * ChangeLog: Fix typos.
........
  r118959 | gccadmin | 2006-11-17 16:17:55 -0800 (Fri, 17 Nov 2006) | 1 line

  Daily bump.
........
  r118961 | jsm28 | 2006-11-17 16:22:45 -0800 (Fri, 17 Nov 2006) | 11 lines

  gcc:
        * config/rs6000/rs6000.h (TARGET_NO_LWSYNC): Define.
        * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
        __NO_LWSYNC__ if TARGET_NO_LWSYNC.
        * config/rs6000/sync.md (lwsync): Emit plain sync if
        TARGET_NO_LWSYNC.

  libstdc++-v3:
        * config/cpu/powerpc/atomic_word.h (_GLIBCXX_WRITE_MEM_BARRIER):
        Use plain sync if __NO_LWSYNC__.
........
  r118964 | jsm28 | 2006-11-17 16:27:03 -0800 (Fri, 17 Nov 2006) | 3 lines

        * config/rs6000/spe.md (movv4hi_internal): Add alternative for
        easy vector constant loads.
........
  r118969 | aldyh | 2006-11-18 02:55:38 -0800 (Sat, 18 Nov 2006) | 3 lines

  * doc/invoke.texi: Fix mno-isel typo.
........
  r118971 | fxcoudert | 2006-11-18 04:16:42 -0800 (Sat, 18 Nov 2006) | 7 lines

        PR fortran/24285

        * io.c (check_format): Allow dollars everywhere in format, and
        issue a warning.

        * gfortran.dg/dollar_edit_descriptor-3.f: New test.
........
  r118972 | ghazi | 2006-11-18 06:08:54 -0800 (Sat, 18 Nov 2006) | 5 lines

        * configure.in (--with-mpfr-dir): Also look in .libs and _libs for
        libmpfr.a.
        * configure: Regenerate.
........
  r118973 | vmakarov | 2006-11-18 10:43:19 -0800 (Sat, 18 Nov 2006) | 29 lines

  2006-11-18  Vladimir Makarov  <vmakarov@redhat.com>

        * doc/invoke.texi (core2): Add item.

        * config/i386/i386.h (TARGET_CORE2, TARGET_CPU_DEFAULT_core2): New
        macros.
        (TARGET_CPU_CPP_BUILTINS): Add code for core2.
        (TARGET_CPU_DEFAULT_generic): Change value.
        (TARGET_CPU_DEFAULT_NAMES): Add core2.
        (processor_type): Add new constant PROCESSOR_CORE2.

        * config/i386/i386.md (cpu): Add core2.

        * config/i386/i386.c (core2_cost): New initialized variable.
        (m_CORE2): New macro.
        (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
        x86_deep_branch, x86_partial_reg_stall, x86_use_simode_fiop,
        x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8,
        x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
        x86_partial_reg_dependency, x86_memory_mismatch_stall,
        x86_accumulate_outgoing_args, x86_prologue_using_move,
        x86_epilogue_using_move, x86_arch_always_fancy_math_387,
        x86_sse_partial_reg_dependency, x86_rep_movl_optimal,
        x86_use_incdec, x86_four_jump_limit, x86_schedule,
        x86_pad_returns): Add m_CORE2.
        (override_options): Add entries for Core2.
        (ix86_issue_rate): Add case for Core2.
........
  r118974 | rguenth | 2006-11-18 12:03:52 -0800 (Sat, 18 Nov 2006) | 8 lines

  2006-11-18  Richard Guenther  <rguenther@suse.de>

        * config/i386/i386.c (ix86_builtins): New array for ix86
        builtin function decls.
        (def_builtin): New function.
        (def_builtin_const): Likewise.
        (ix86_init_mmx_sse_builtins): Mark sqrt and cvt builtins const.
........
  r118975 | ghazi | 2006-11-18 12:29:22 -0800 (Sat, 18 Nov 2006) | 6 lines

        * fold-const.c (fold_strip_sign_ops): Handle copysign.

  testsuite:
        * gcc.dg/builtins-20.c: Add cases for copysign.
........
  r118976 | ghazi | 2006-11-18 12:38:40 -0800 (Sat, 18 Nov 2006) | 9 lines

        * builtins.c (integer_valued_real_p): Handle fmin/fmax.
        (fold_builtin_fmin_fmax): New.
        (fold_builtin_1): Use it.

  testsuite:
        * gcc.dg/builtins-20.c: Add fmin/fmax cases.
        * gcc.dg/torture/builtin-minmax-1.c: New.
........
  r118977 | danglin | 2006-11-18 15:17:33 -0800 (Sat, 18 Nov 2006) | 6 lines

        PR fortran/27885
        PR middle-end/28176
        * stor-layout.c (set_sizetype): Limit precision of *bitsizetypes types
        to MAX_FIXED_MODE_SIZE.
........
  r118982 | gccadmin | 2006-11-18 16:18:13 -0800 (Sat, 18 Nov 2006) | 1 line

  Daily bump.
........
  r118987 | dorit | 2006-11-19 03:11:57 -0800 (Sun, 19 Nov 2006) | 1 line

  * gcc.dg/vect/vect-27.c: Fix initialization.
........

Added:
    branches/fixed-point/gcc/config/darwin9.h
      - copied unchanged from r118987, trunk/gcc/config/darwin9.h
    branches/fixed-point/gcc/testsuite/g++.dg/init/self1.C
      - copied unchanged from r118987, trunk/gcc/testsuite/g++.dg/init/self1.C
    branches/fixed-point/gcc/testsuite/g++.dg/pubtypes.C
      - copied unchanged from r118987, trunk/gcc/testsuite/g++.dg/pubtypes.C
    branches/fixed-point/gcc/testsuite/gcc.c-torture/compile/pr29201.c
      - copied unchanged from r118987,
trunk/gcc/testsuite/gcc.c-torture/compile/pr29201.c
    branches/fixed-point/gcc/testsuite/gcc.c-torture/execute/pr29798.c
      - copied unchanged from r118987,
trunk/gcc/testsuite/gcc.c-torture/execute/pr29798.c
    branches/fixed-point/gcc/testsuite/gcc.dg/pr29581-1.c
      - copied unchanged from r118987, trunk/gcc/testsuite/gcc.dg/pr29581-1.c
    branches/fixed-point/gcc/testsuite/gcc.dg/pr29581-2.c
      - copied unchanged from r118987, trunk/gcc/testsuite/gcc.dg/pr29581-2.c
    branches/fixed-point/gcc/testsuite/gcc.dg/pr29581-3.c
      - copied unchanged from r118987, trunk/gcc/testsuite/gcc.dg/pr29581-3.c
    branches/fixed-point/gcc/testsuite/gcc.dg/pr29581-4.c
      - copied unchanged from r118987, trunk/gcc/testsuite/gcc.dg/pr29581-4.c
    branches/fixed-point/gcc/testsuite/gcc.dg/pr29801.c
      - copied unchanged from r118987, trunk/gcc/testsuite/gcc.dg/pr29801.c
    branches/fixed-point/gcc/testsuite/gcc.dg/pubtypes-1.c
      - copied unchanged from r118987, trunk/gcc/testsuite/gcc.dg/pubtypes-1.c
    branches/fixed-point/gcc/testsuite/gcc.dg/pubtypes-2.c
      - copied unchanged from r118987, trunk/gcc/testsuite/gcc.dg/pubtypes-2.c
    branches/fixed-point/gcc/testsuite/gcc.dg/pubtypes-3.c
      - copied unchanged from r118987, trunk/gcc/testsuite/gcc.dg/pubtypes-3.c
    branches/fixed-point/gcc/testsuite/gcc.dg/pubtypes-4.c
      - copied unchanged from r118987, trunk/gcc/testsuite/gcc.dg/pubtypes-4.c
    branches/fixed-point/gcc/testsuite/gcc.dg/torture/builtin-minmax-1.c
      - copied unchanged from r118987,
trunk/gcc/testsuite/gcc.dg/torture/builtin-minmax-1.c
    branches/fixed-point/gcc/testsuite/gcc.dg/torture/pr29584.c
      - copied unchanged from r118987,
trunk/gcc/testsuite/gcc.dg/torture/pr29584.c
    branches/fixed-point/gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-16.c
      - copied unchanged from r118987,
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-16.c
    branches/fixed-point/gcc/testsuite/gcc.target/i386/x87regparm-1.c
      - copied unchanged from r118987,
trunk/gcc/testsuite/gcc.target/i386/x87regparm-1.c
    branches/fixed-point/gcc/testsuite/gcc.target/i386/x87regparm-2.c
      - copied unchanged from r118987,
trunk/gcc/testsuite/gcc.target/i386/x87regparm-2.c
    branches/fixed-point/gcc/testsuite/gcc.target/i386/x87regparm-3.c
      - copied unchanged from r118987,
trunk/gcc/testsuite/gcc.target/i386/x87regparm-3.c
    branches/fixed-point/gcc/testsuite/gcc.target/i386/x87regparm-4.c
      - copied unchanged from r118987,
trunk/gcc/testsuite/gcc.target/i386/x87regparm-4.c
    branches/fixed-point/gcc/testsuite/gfortran.dg/conflicts.f90
      - copied unchanged from r118987,
trunk/gcc/testsuite/gfortran.dg/conflicts.f90
    branches/fixed-point/gcc/testsuite/gfortran.dg/contains.f90
      - copied unchanged from r118987,
trunk/gcc/testsuite/gfortran.dg/contains.f90
    branches/fixed-point/gcc/testsuite/gfortran.dg/dollar_edit_descriptor-3.f
      - copied unchanged from r118987,
trunk/gcc/testsuite/gfortran.dg/dollar_edit_descriptor-3.f
    branches/fixed-point/gcc/testsuite/gfortran.dg/import.f90
      - copied unchanged from r118987,
trunk/gcc/testsuite/gfortran.dg/import.f90
    branches/fixed-point/gcc/testsuite/gfortran.dg/import2.f90
      - copied unchanged from r118987,
trunk/gcc/testsuite/gfortran.dg/import2.f90
    branches/fixed-point/gcc/testsuite/gfortran.dg/import3.f90
      - copied unchanged from r118987,
trunk/gcc/testsuite/gfortran.dg/import3.f90
    branches/fixed-point/gcc/testsuite/gfortran.dg/pr29581.f90
      - copied unchanged from r118987,
trunk/gcc/testsuite/gfortran.dg/pr29581.f90
    branches/fixed-point/gcc/testsuite/gfortran.dg/use_1.f90
      - copied unchanged from r118987,
trunk/gcc/testsuite/gfortran.dg/use_1.f90
    branches/fixed-point/gcc/testsuite/gfortran.dg/use_2.f90
      - copied unchanged from r118987,
trunk/gcc/testsuite/gfortran.dg/use_2.f90
    branches/fixed-point/gcc/testsuite/gfortran.dg/use_3.f90
      - copied unchanged from r118987,
trunk/gcc/testsuite/gfortran.dg/use_3.f90
   
branches/fixed-point/gcc/testsuite/gfortran.fortran-torture/compile/inline_1.f90
      - copied unchanged from r118987,
trunk/gcc/testsuite/gfortran.fortran-torture/compile/inline_1.f90
    branches/fixed-point/gcc/testsuite/gnat.dg/volatile_aggregate.adb
      - copied unchanged from r118987,
trunk/gcc/testsuite/gnat.dg/volatile_aggregate.adb
Modified:
    branches/fixed-point/   (props changed)
    branches/fixed-point/ChangeLog
    branches/fixed-point/MAINTAINERS
    branches/fixed-point/Makefile.in
    branches/fixed-point/Makefile.tpl
    branches/fixed-point/configure
    branches/fixed-point/configure.in
    branches/fixed-point/gcc/ChangeLog
    branches/fixed-point/gcc/DATESTAMP
    branches/fixed-point/gcc/Makefile.in
    branches/fixed-point/gcc/ada/ChangeLog
    branches/fixed-point/gcc/ada/trans.c
    branches/fixed-point/gcc/basic-block.h
    branches/fixed-point/gcc/builtins.c
    branches/fixed-point/gcc/calls.c
    branches/fixed-point/gcc/cfghooks.c
    branches/fixed-point/gcc/cfglayout.c
    branches/fixed-point/gcc/cfgloop.c
    branches/fixed-point/gcc/cfgloop.h
    branches/fixed-point/gcc/cfgloopanal.c
    branches/fixed-point/gcc/cfgloopmanip.c
    branches/fixed-point/gcc/cfgrtl.c
    branches/fixed-point/gcc/combine.c
    branches/fixed-point/gcc/config.gcc
    branches/fixed-point/gcc/config/arm/arm.h
    branches/fixed-point/gcc/config/arm/arm.md
    branches/fixed-point/gcc/config/arm/iwmmxt.md
    branches/fixed-point/gcc/config/arm/pr-support.c
    branches/fixed-point/gcc/config/arm/unwind-arm.c
    branches/fixed-point/gcc/config/bfin/bfin.c
    branches/fixed-point/gcc/config/darwin.c
    branches/fixed-point/gcc/config/darwin.h
    branches/fixed-point/gcc/config/i386/darwin.h
    branches/fixed-point/gcc/config/i386/i386.c
    branches/fixed-point/gcc/config/i386/i386.h
    branches/fixed-point/gcc/config/i386/i386.md
    branches/fixed-point/gcc/config/i386/i386.opt
    branches/fixed-point/gcc/config/m32c/m32c.c
    branches/fixed-point/gcc/config/rs6000/rs6000-c.c
    branches/fixed-point/gcc/config/rs6000/rs6000.h
    branches/fixed-point/gcc/config/rs6000/spe.md
    branches/fixed-point/gcc/config/rs6000/sync.md
    branches/fixed-point/gcc/config/xtensa/elf.h
    branches/fixed-point/gcc/config/xtensa/lib1funcs.asm
    branches/fixed-point/gcc/config/xtensa/predicates.md
    branches/fixed-point/gcc/config/xtensa/xtensa-protos.h
    branches/fixed-point/gcc/config/xtensa/xtensa.c
    branches/fixed-point/gcc/config/xtensa/xtensa.md
    branches/fixed-point/gcc/cp/ChangeLog
    branches/fixed-point/gcc/cp/name-lookup.c
    branches/fixed-point/gcc/doc/extend.texi
    branches/fixed-point/gcc/doc/implement-c.texi
    branches/fixed-point/gcc/doc/install.texi
    branches/fixed-point/gcc/doc/invoke.texi
    branches/fixed-point/gcc/doc/loop.texi
    branches/fixed-point/gcc/dwarf2out.c
    branches/fixed-point/gcc/expmed.c
    branches/fixed-point/gcc/expr.c
    branches/fixed-point/gcc/fold-const.c
    branches/fixed-point/gcc/fortran/ChangeLog
    branches/fixed-point/gcc/fortran/data.c
    branches/fixed-point/gcc/fortran/decl.c
    branches/fixed-point/gcc/fortran/error.c
    branches/fixed-point/gcc/fortran/expr.c
    branches/fixed-point/gcc/fortran/gfortran.h
    branches/fixed-point/gcc/fortran/gfortran.texi
    branches/fixed-point/gcc/fortran/io.c
    branches/fixed-point/gcc/fortran/lang-specs.h
    branches/fixed-point/gcc/fortran/lang.opt
    branches/fixed-point/gcc/fortran/match.c
    branches/fixed-point/gcc/fortran/match.h
    branches/fixed-point/gcc/fortran/module.c
    branches/fixed-point/gcc/fortran/options.c
    branches/fixed-point/gcc/fortran/parse.c
    branches/fixed-point/gcc/fortran/resolve.c
    branches/fixed-point/gcc/fortran/scanner.c
    branches/fixed-point/gcc/fortran/simplify.c
    branches/fixed-point/gcc/fortran/symbol.c
    branches/fixed-point/gcc/fortran/trans-decl.c
    branches/fixed-point/gcc/fortran/trans-expr.c
    branches/fixed-point/gcc/fortran/trans-intrinsic.c
    branches/fixed-point/gcc/fortran/trans-io.c
    branches/fixed-point/gcc/function.h
    branches/fixed-point/gcc/gimplify.c
    branches/fixed-point/gcc/haifa-sched.c
    branches/fixed-point/gcc/ifcvt.c
    branches/fixed-point/gcc/lambda-code.c
    branches/fixed-point/gcc/loop-doloop.c
    branches/fixed-point/gcc/loop-init.c
    branches/fixed-point/gcc/loop-unroll.c
    branches/fixed-point/gcc/loop-unswitch.c
    branches/fixed-point/gcc/modulo-sched.c
    branches/fixed-point/gcc/predict.c
    branches/fixed-point/gcc/real.c
    branches/fixed-point/gcc/reg-stack.c
    branches/fixed-point/gcc/reload1.c
    branches/fixed-point/gcc/stor-layout.c
    branches/fixed-point/gcc/testsuite/ChangeLog
    branches/fixed-point/gcc/testsuite/gcc.dg/builtins-20.c
    branches/fixed-point/gcc/testsuite/gcc.dg/tree-ssa/stdarg-2.c
    branches/fixed-point/gcc/testsuite/gcc.dg/tree-ssa/stdarg-4.c
    branches/fixed-point/gcc/testsuite/gcc.dg/vect/vect-27.c
   
branches/fixed-point/gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp
   
branches/fixed-point/gcc/testsuite/gcc.target/powerpc/compress-float-ppc-pic.c
    branches/fixed-point/gcc/testsuite/gcc.target/powerpc/compress-float-ppc.c
    branches/fixed-point/gcc/testsuite/gcc.target/powerpc/rs6000-power2-2.c
    branches/fixed-point/gcc/testsuite/gfortran.dg/bound_2.f90
   
branches/fixed-point/gcc/testsuite/gfortran.dg/derived_function_interface_1.f90
    branches/fixed-point/gcc/testsuite/lib/gfortran-dg.exp
    branches/fixed-point/gcc/tree-cfg.c
    branches/fixed-point/gcc/tree-flow.h
    branches/fixed-point/gcc/tree-if-conv.c
    branches/fixed-point/gcc/tree-ssa-address.c
    branches/fixed-point/gcc/tree-ssa-alias.c
    branches/fixed-point/gcc/tree-ssa-ccp.c
    branches/fixed-point/gcc/tree-ssa-copy.c
    branches/fixed-point/gcc/tree-ssa-dom.c
    branches/fixed-point/gcc/tree-ssa-forwprop.c
    branches/fixed-point/gcc/tree-ssa-loop-ch.c
    branches/fixed-point/gcc/tree-ssa-loop-im.c
    branches/fixed-point/gcc/tree-ssa-loop-ivopts.c
    branches/fixed-point/gcc/tree-ssa-loop-manip.c
    branches/fixed-point/gcc/tree-ssa-loop.c
    branches/fixed-point/gcc/tree-ssa-pre.c
    branches/fixed-point/gcc/tree-ssa-sink.c
    branches/fixed-point/gcc/tree-vect-transform.c
    branches/fixed-point/gcc/tree-vectorizer.c
    branches/fixed-point/gcc/tree-vrp.c
    branches/fixed-point/libada/ChangeLog
    branches/fixed-point/libada/Makefile.in
    branches/fixed-point/libada/configure
    branches/fixed-point/libada/configure.ac
    branches/fixed-point/libgfortran/ChangeLog
    branches/fixed-point/libgfortran/io/open.c
    branches/fixed-point/libgfortran/runtime/error.c
    branches/fixed-point/libstdc++-v3/ChangeLog
    branches/fixed-point/libstdc++-v3/config/cpu/powerpc/atomic_word.h
    branches/fixed-point/libstdc++-v3/testsuite/26_numerics/complex/13450.cc

Propchange: branches/fixed-point/
            ('svk:merge' modified)

Propchange: branches/fixed-point/
            ('svnmerge-integrated' modified)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29581


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/29581] Latent bug in 4.1/4.2/4.3 lambda-code.c
  2006-10-24 15:21 [Bug tree-optimization/29581] New: Latent bug in 4.1/4.2/4.3 lambda-code.c jakub at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2006-12-01  2:04 ` chaoyingfu at gcc dot gnu dot org
@ 2007-01-10 19:15 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-01-10 19:15 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.1.2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29581


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2007-01-10 19:15 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-10-24 15:21 [Bug tree-optimization/29581] New: Latent bug in 4.1/4.2/4.3 lambda-code.c jakub at gcc dot gnu dot org
2006-11-08 16:25 ` [Bug tree-optimization/29581] " dberlin at gcc dot gnu dot org
2006-11-13 10:16 ` jakub at gcc dot gnu dot org
2006-11-13 14:09 ` pinskia at gcc dot gnu dot org
2006-11-13 16:56 ` jakub at gcc dot gnu dot org
2006-11-15  9:35 ` jakub at gcc dot gnu dot org
2006-11-15  9:37 ` jakub at gcc dot gnu dot org
2006-11-15  9:39 ` jakub at gcc dot gnu dot org
2006-11-15  9:55 ` jakub at gcc dot gnu dot org
2006-12-01  2:04 ` chaoyingfu at gcc dot gnu dot org
2007-01-10 19:15 ` pinskia at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).