public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional
@ 2003-07-29 13:34 rguenth at tat dot physik dot uni-tuebingen dot de
  2003-07-29 13:40 ` [Bug optimization/11707] " pinskia at physics dot uc dot edu
                   ` (24 more replies)
  0 siblings, 25 replies; 30+ messages in thread
From: rguenth at tat dot physik dot uni-tuebingen dot de @ 2003-07-29 13:34 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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

           Summary: constants not propagated in unrolled loop iterations
                    with a conditional
           Product: gcc
           Version: 3.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rguenth at tat dot physik dot uni-tuebingen dot de
                CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: i686-pc-linux-gnu

The following testcase fails to cprop:

int foo2()
{
        unsigned int n = 5, i;
        int a = 1;
        for (i=0; i<2; ++i) {
                n /= 2;
                if (n)
                        a *= a;
        }
        return a;
}

while if omitting the if (n) check which is always true, cprop works and
the result is computed at compile time.

The lack of this optimization hurts optimization of libstdc++ pow(T, int)
implementation.


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

* [Bug optimization/11707] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
@ 2003-07-29 13:40 ` pinskia at physics dot uc dot edu
  2003-07-29 13:45 ` rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (23 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: pinskia at physics dot uc dot edu @ 2003-07-29 13:40 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


pinskia at physics dot uc dot edu changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |pessimizes-code
           Priority|P2                          |P3
   Last reconfirmed|0000-00-00 00:00:00         |2003-07-29 13:40:27
               date|                            |
   Target Milestone|3.4                         |---


------- Additional Comments From pinskia at physics dot uc dot edu  2003-07-29 13:40 -------
I can confirm this on the mainline (20030729) but with the rtlopt branch, gcc produces great code:
_foo2:
        li r3,1
        blr
(which is just return 1; for you non powerpc asm readers.)
Also with the tree-ssa branch (20030718) with -funroll-loops, gcc produces the same code as 
above.

So when either rtlopt or tree-ssa branch is rolled into gcc, this will be fixed.


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

* [Bug optimization/11707] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
  2003-07-29 13:40 ` [Bug optimization/11707] " pinskia at physics dot uc dot edu
@ 2003-07-29 13:45 ` rguenth at tat dot physik dot uni-tuebingen dot de
  2003-07-29 14:07 ` rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (22 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: rguenth at tat dot physik dot uni-tuebingen dot de @ 2003-07-29 13:45 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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



------- Additional Comments From rguenth at tat dot physik dot uni-tuebingen dot de  2003-07-29 13:45 -------
Subject: Re:  constants not propagated in unrolled
 loop iterations with a conditional

On 29 Jul 2003, pinskia at physics dot uc dot edu wrote:

> I can confirm this on the mainline (20030729) but with the rtlopt branch, gcc produces great code:
> _foo2:
>         li r3,1
>         blr
> (which is just return 1; for you non powerpc asm readers.)
> Also with the tree-ssa branch (20030718) with -funroll-loops, gcc produces the same code as
> above.
>
> So when either rtlopt or tree-ssa branch is rolled into gcc, this will be fixed.

This probably means its not going to be fixed for 3.4? Can you assign the
PR to Zdenek Dvorak? Maybe there are a few hunks from rtlopt that fixes
this.

Richard.

--
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/


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

* [Bug optimization/11707] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
  2003-07-29 13:40 ` [Bug optimization/11707] " pinskia at physics dot uc dot edu
  2003-07-29 13:45 ` rguenth at tat dot physik dot uni-tuebingen dot de
@ 2003-07-29 14:07 ` rguenth at tat dot physik dot uni-tuebingen dot de
  2003-07-29 14:13 ` [Bug optimization/11707] [3.4 Regression] [new unroller] " pinskia at physics dot uc dot edu
                   ` (21 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: rguenth at tat dot physik dot uni-tuebingen dot de @ 2003-07-29 14:07 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


rguenth at tat dot physik dot uni-tuebingen dot de changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|enhancement                 |normal


------- Additional Comments From rguenth at tat dot physik dot uni-tuebingen dot de  2003-07-29 14:07 -------
This is actually a regression from 2.95.3 (-O2 -funroll-loops):

gcc2_compiled.:
.text
        .align 16
.globl foo2
        .type    foo2,@function
foo2:
        pushl %ebp
        movl %esp,%ebp
        movl $1,%eax
        movl %ebp,%esp
        popl %ebp
        ret

and a regression from 3.3 to which this is a regression from 2.92.3:

        .text
        .p2align 4,,15
.globl foo2
        .type   foo2, @function
foo2:
        pushl   %ebp
        movl    $1, %eax        #  a
        movl    %esp, %ebp
        popl    %ebp
        imull   %eax, %eax      #  a,  a
        ret

and of course worst for gcc3.4:

        .text
        .p2align 4,,15
.globl foo2
        .type   foo2, @function
foo2:
        pushl   %ebp    #
        movl    $5, %eax        #, n
        shrl    %eax    # tmp62 
        testl   %eax, %eax      # n
        movl    %esp, %ebp      #, 
        movl    $1, %edx        #, a
        je      .L11    #,      
        imull   %edx, %edx      # a, a
.L11:
        shrl    %eax    # n     
        testl   %eax, %eax      # n
        je      .L4     #,      
        imull   %edx, %edx      # a, a
.L4:
        popl    %ebp    #
        movl    %edx, %eax      # a, <result>
        ret

With gcc3.4 and -fold-unroll-loops we get back to 2.95.3 code:

       .text
        .p2align 4,,15
.globl foo2
        .type   foo2, @function
foo2:
        pushl   %ebp    #
        movl    $1, %eax        #, <result>
        movl    %esp, %ebp      #,
        popl    %ebp    #
        ret

So can this be targeted at 3.3 and marked as regression? Thanks.


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

* [Bug optimization/11707] [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (2 preceding siblings ...)
  2003-07-29 14:07 ` rguenth at tat dot physik dot uni-tuebingen dot de
@ 2003-07-29 14:13 ` pinskia at physics dot uc dot edu
  2003-09-29 13:54 ` rakdver at gcc dot gnu dot org
                   ` (20 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: pinskia at physics dot uc dot edu @ 2003-07-29 14:13 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


pinskia at physics dot uc dot edu changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |critical
           Priority|P3                          |P1
            Summary|constants not propagated in |[3.4 Regression] [new
                   |unrolled loop iterations    |unroller] constants not
                   |with a conditional          |propagated in unrolled loop
                   |                            |iterations with a
                   |                            |conditional
   Target Milestone|---                         |3.4


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

* [Bug optimization/11707] [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (3 preceding siblings ...)
  2003-07-29 14:13 ` [Bug optimization/11707] [3.4 Regression] [new unroller] " pinskia at physics dot uc dot edu
@ 2003-09-29 13:54 ` rakdver at gcc dot gnu dot org
  2003-09-29 14:14 ` rakdver at gcc dot gnu dot org
                   ` (19 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: rakdver at gcc dot gnu dot org @ 2003-09-29 13:54 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


rakdver at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |rakdver at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED


------- Additional Comments From rakdver at gcc dot gnu dot org  2003-09-29 12:30 -------
Created an attachment (id=4860)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=4860&action=view)
Patch moving the jump bypassing after loop optimizer


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

* [Bug optimization/11707] [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (4 preceding siblings ...)
  2003-09-29 13:54 ` rakdver at gcc dot gnu dot org
@ 2003-09-29 14:14 ` rakdver at gcc dot gnu dot org
  2003-09-29 14:39 ` rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (18 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: rakdver at gcc dot gnu dot org @ 2003-09-29 14:14 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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



------- Additional Comments From rakdver at gcc dot gnu dot org  2003-09-29 12:31 -------
This is just a pass ordering problem. Copy propagation in jump bypassing
is being run between old and new loop unroller; so it acts on already unrolled
loop with -fold-unroll-loops, but is not able to do anything senseful
with -funroll-loops.

On rtlopt-branch I have moved unroller before jump bypassing, this is why it 
does not reproduce there.

On tree-ssa constant propagation is able to detect that a*=a is no-op in this
case. Cool.

Anyway, the attached patch fixes the problem.  I believe moving jump bypassing
after unroller should not harm anything.


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

* [Bug optimization/11707] [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (5 preceding siblings ...)
  2003-09-29 14:14 ` rakdver at gcc dot gnu dot org
@ 2003-09-29 14:39 ` rguenth at tat dot physik dot uni-tuebingen dot de
  2003-09-29 16:48 ` rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (17 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: rguenth at tat dot physik dot uni-tuebingen dot de @ 2003-09-29 14:39 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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



------- Additional Comments From rguenth at tat dot physik dot uni-tuebingen dot de  2003-09-29 14:14 -------
Subject: Re:  [3.4 Regression] [new unroller] constants
 not propagated in unrolled loop iterations with a conditional

On 29 Sep 2003, rakdver at gcc dot gnu dot org wrote:

> Anyway, the attached patch fixes the problem.  I believe moving jump bypassing
> after unroller should not harm anything.

This may be the fix for the 3.4 regression. What about the 3.3 regression?
I.e. the unneccessary imull produced on x86? This is a regression to
2.95.3 as noted in comment #3.

Maybe someone could look what is preventing constant folding from being
done here. Roger?

Thanks,

Richard.

--
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/


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

* [Bug optimization/11707] [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (6 preceding siblings ...)
  2003-09-29 14:39 ` rguenth at tat dot physik dot uni-tuebingen dot de
@ 2003-09-29 16:48 ` rguenth at tat dot physik dot uni-tuebingen dot de
  2003-12-05  3:33 ` pinskia at gcc dot gnu dot org
                   ` (16 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: rguenth at tat dot physik dot uni-tuebingen dot de @ 2003-09-29 16:48 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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



------- Additional Comments From rguenth at tat dot physik dot uni-tuebingen dot de  2003-09-29 16:01 -------
Subject: Re:  [3.4 Regression] [new unroller] constants
 not propagated in unrolled loop iterations with a conditional

On 29 Sep 2003, rakdver at gcc dot gnu dot org wrote:

> ------- Additional Comments From rakdver at gcc dot gnu dot org  2003-09-29 12:31 -------
> This is just a pass ordering problem. Copy propagation in jump bypassing
> is being run between old and new loop unroller; so it acts on already unrolled
> loop with -fold-unroll-loops, but is not able to do anything senseful
> with -funroll-loops.
>
> On rtlopt-branch I have moved unroller before jump bypassing, this is why it
> does not reproduce there.
>
> On tree-ssa constant propagation is able to detect that a*=a is no-op in this
> case. Cool.
>
> Anyway, the attached patch fixes the problem.  I believe moving jump bypassing
> after unroller should not harm anything.

The attached patch fixes the regression to the 3.3 behavior which is still
a regression from 2.95.3 (unnecessary imull).

Richard.

--
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/


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

* [Bug optimization/11707] [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (7 preceding siblings ...)
  2003-09-29 16:48 ` rguenth at tat dot physik dot uni-tuebingen dot de
@ 2003-12-05  3:33 ` pinskia at gcc dot gnu dot org
  2003-12-05 21:47 ` rakdver at atrey dot karlin dot mff dot cuni dot cz
                   ` (15 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2003-12-05  3:33 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2003-12-05 03:33 -------
Zdenek: did you ask for approval of this patch?

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|2003-07-29 13:40:27         |2003-12-05 03:33:47
               date|                            |


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


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

* [Bug optimization/11707] [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (8 preceding siblings ...)
  2003-12-05  3:33 ` pinskia at gcc dot gnu dot org
@ 2003-12-05 21:47 ` rakdver at atrey dot karlin dot mff dot cuni dot cz
  2004-01-04  8:54 ` pinskia at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: rakdver at atrey dot karlin dot mff dot cuni dot cz @ 2003-12-05 21:47 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rakdver at atrey dot karlin dot mff dot cuni dot cz  2003-12-05 21:47 -------
Subject: Re:  [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional

IIRC, no.

Zdenek

> ------- Additional Comments From pinskia at gcc dot gnu dot org  2003-12-05 03:33 -------
> Zdenek: did you ask for approval of this patch?
> 
> -- 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>    Last reconfirmed|2003-07-29 13:40:27         |2003-12-05 03:33:47
>                date|                            |
> 
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11707
> 
> ------- You are receiving this mail because: -------
> You are the assignee for the bug, or are watching the assignee.


-- 


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


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

* [Bug optimization/11707] [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (9 preceding siblings ...)
  2003-12-05 21:47 ` rakdver at atrey dot karlin dot mff dot cuni dot cz
@ 2004-01-04  8:54 ` pinskia at gcc dot gnu dot org
  2004-03-09 23:27 ` [Bug optimization/11707] [3.4/3.5 " mmitchel at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-04  8:54 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-01-04 08:54 -------
pressimizes-code is not a criticial bug, reducing severity.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|critical                    |normal


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


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

* [Bug optimization/11707] [3.4/3.5 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (10 preceding siblings ...)
  2004-01-04  8:54 ` pinskia at gcc dot gnu dot org
@ 2004-03-09 23:27 ` mmitchel at gcc dot gnu dot org
  2004-03-09 23:28 ` mmitchel at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-03-09 23:27 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2004-03-09 23:27 -------
This patch is too risky for 3.4.0, so I will postpone it until 3.4.1.  However,
if someone would please test the patch on the 3.4 branch and confirm in this
audit trail that the patch works, bootstraps, etc., then we can include it for
3.4.1.

-- 


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


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

* [Bug optimization/11707] [3.4/3.5 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (11 preceding siblings ...)
  2004-03-09 23:27 ` [Bug optimization/11707] [3.4/3.5 " mmitchel at gcc dot gnu dot org
@ 2004-03-09 23:28 ` mmitchel at gcc dot gnu dot org
  2004-03-21 18:24 ` steven at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-03-09 23:28 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4.0                       |3.4.1


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


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

* [Bug optimization/11707] [3.4/3.5 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (12 preceding siblings ...)
  2004-03-09 23:28 ` mmitchel at gcc dot gnu dot org
@ 2004-03-21 18:24 ` steven at gcc dot gnu dot org
  2004-06-18 23:41 ` [Bug rtl-optimization/11707] " mmitchel at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: steven at gcc dot gnu dot org @ 2004-03-21 18:24 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From steven at gcc dot gnu dot org  2004-03-21 18:24 -------
Zdenek, will you post this patch for inclusion on mainline? 

-- 


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


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

* [Bug rtl-optimization/11707] [3.4/3.5 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (13 preceding siblings ...)
  2004-03-21 18:24 ` steven at gcc dot gnu dot org
@ 2004-06-18 23:41 ` mmitchel at gcc dot gnu dot org
  2004-08-10  1:38 ` pinskia at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-06-18 23:41 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2004-06-18 23:41 -------
Nobody has updated the PR to indicate that the patch has been tested; postponing
until GCC 3.4.2.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4.1                       |3.4.2


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


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

* [Bug rtl-optimization/11707] [3.4/3.5 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (14 preceding siblings ...)
  2004-06-18 23:41 ` [Bug rtl-optimization/11707] " mmitchel at gcc dot gnu dot org
@ 2004-08-10  1:38 ` pinskia at gcc dot gnu dot org
  2004-08-12  7:33 ` steven at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-10  1:38 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |critical


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


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

* [Bug rtl-optimization/11707] [3.4/3.5 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (15 preceding siblings ...)
  2004-08-10  1:38 ` pinskia at gcc dot gnu dot org
@ 2004-08-12  7:33 ` steven at gcc dot gnu dot org
  2004-08-29 19:02 ` [Bug rtl-optimization/11707] [3.4 " mmitchel at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: steven at gcc dot gnu dot org @ 2004-08-12  7:33 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From steven at gcc dot gnu dot org  2004-08-12 07:33 -------
Mainline produces this:  
  
        .file   "t.c"  
        .text  
        .p2align 2,,3  
.globl foo2  
        .type   foo2, @function  
foo2:  
        movl    $1, %eax  
        ret  
        .size   foo2, .-foo2  
        .ident  "GCC: (GNU) 3.5.0 20040811 (experimental)"  
        .section        .note.GNU-stack,"",@progbits  
 
which means 3.5.0 does not fail. 

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|3.4.0 3.5.0                 |3.4.0
      Known to work|3.3                         |3.3 3.5.0


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


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

* [Bug rtl-optimization/11707] [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (16 preceding siblings ...)
  2004-08-12  7:33 ` steven at gcc dot gnu dot org
@ 2004-08-29 19:02 ` mmitchel at gcc dot gnu dot org
  2004-10-30 19:34 ` mmitchel at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-08-29 19:02 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2004-08-29 19:02 -------
Postponed until GCC 3.4.3.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4.2                       |3.4.3


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


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

* [Bug rtl-optimization/11707] [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (17 preceding siblings ...)
  2004-08-29 19:02 ` [Bug rtl-optimization/11707] [3.4 " mmitchel at gcc dot gnu dot org
@ 2004-10-30 19:34 ` mmitchel at gcc dot gnu dot org
  2004-11-01  0:45 ` mmitchel at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-10-30 19:34 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2004-10-30 19:34 -------
Postponed until GCC 3.4.4.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|3.3 4.0                     |3.3 4.0.0


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


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

* [Bug rtl-optimization/11707] [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (18 preceding siblings ...)
  2004-10-30 19:34 ` mmitchel at gcc dot gnu dot org
@ 2004-11-01  0:45 ` mmitchel at gcc dot gnu dot org
  2005-01-12 11:06 ` rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (4 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-11-01  0:45 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2004-11-01 00:45 -------
Postponed until GCC 3.4.4.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4.3                       |3.4.4


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


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

* [Bug rtl-optimization/11707] [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (19 preceding siblings ...)
  2004-11-01  0:45 ` mmitchel at gcc dot gnu dot org
@ 2005-01-12 11:06 ` rguenth at tat dot physik dot uni-tuebingen dot de
  2005-02-10 18:35 ` rguenth at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: rguenth at tat dot physik dot uni-tuebingen dot de @ 2005-01-12 11:06 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rguenth at tat dot physik dot uni-tuebingen dot de  2005-01-12 11:05 -------
I can re-confirm that the patch moves 3.4 to the state of 3.3 - i.e. with an
extra imull compared to 2.95 and 4.0.  The patch has bootstrapped with checking
enabled and -funroll-loops on ia64, testing is in process.  I'll formally submit
the patch shortly.

For the imull regression I'll file a separate bug with a possibly reduced testcase.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rakdver at gcc dot gnu dot
                   |                            |org
      Known to fail|3.4.0                       |3.4.0 3.4.3


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


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

* [Bug rtl-optimization/11707] [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (20 preceding siblings ...)
  2005-01-12 11:06 ` rguenth at tat dot physik dot uni-tuebingen dot de
@ 2005-02-10 18:35 ` rguenth at gcc dot gnu dot org
  2005-02-10 18:36 ` steven at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  24 siblings, 0 replies; 30+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2005-02-10 18:35 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rguenth at gcc dot gnu dot org  2005-02-10 12:46 -------
Patch at
http://gcc.gnu.org/ml/gcc-patches/2005-01/msg00656.html
pinged.  Or WONTFIX - it's up to Mark.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch


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


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

* [Bug rtl-optimization/11707] [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (21 preceding siblings ...)
  2005-02-10 18:35 ` rguenth at gcc dot gnu dot org
@ 2005-02-10 18:36 ` steven at gcc dot gnu dot org
  2005-05-19 17:24 ` mmitchel at gcc dot gnu dot org
  2005-08-22 12:49 ` pinskia at gcc dot gnu dot org
  24 siblings, 0 replies; 30+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-02-10 18:36 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From steven at gcc dot gnu dot org  2005-02-10 12:48 -------
In reply to comment #13 - I have tested the patch on i686, amd64, ppc, and 
ia64. 

-- 


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


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

* [Bug rtl-optimization/11707] [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (22 preceding siblings ...)
  2005-02-10 18:36 ` steven at gcc dot gnu dot org
@ 2005-05-19 17:24 ` mmitchel at gcc dot gnu dot org
  2005-08-22 12:49 ` pinskia at gcc dot gnu dot org
  24 siblings, 0 replies; 30+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-05-19 17:24 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4.4                       |3.4.5


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


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

* [Bug rtl-optimization/11707] [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
  2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
                   ` (23 preceding siblings ...)
  2005-05-19 17:24 ` mmitchel at gcc dot gnu dot org
@ 2005-08-22 12:49 ` pinskia at gcc dot gnu dot org
  24 siblings, 0 replies; 30+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-08-22 12:49 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|critical                    |normal


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


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

* [Bug rtl-optimization/11707] [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
       [not found] <bug-11707-10053@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2006-02-27 14:04 ` rguenth at gcc dot gnu dot org
@ 2006-02-28  8:46 ` gdr at gcc dot gnu dot org
  3 siblings, 0 replies; 30+ messages in thread
From: gdr at gcc dot gnu dot org @ 2006-02-28  8:46 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #23 from gdr at gcc dot gnu dot org  2006-02-28 08:43 -------
Fixed in 4.0 and higher.
Won't fix for 3.4.x


-- 

gdr at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|3.4.6                       |4.0.0


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


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

* [Bug rtl-optimization/11707] [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
       [not found] <bug-11707-10053@http.gcc.gnu.org/bugzilla/>
  2005-10-07  3:12 ` gdr at gcc dot gnu dot org
  2006-02-27 13:57 ` steven at gcc dot gnu dot org
@ 2006-02-27 14:04 ` rguenth at gcc dot gnu dot org
  2006-02-28  8:46 ` gdr at gcc dot gnu dot org
  3 siblings, 0 replies; 30+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-02-27 14:04 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #22 from rguenth at gcc dot gnu dot org  2006-02-27 14:03 -------
I don't know - the original testcase was fixed by tree-ssa merge, so, apart
from a general pass ordering overhaul there's nothing to be done for this
particular bug.


-- 


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


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

* [Bug rtl-optimization/11707] [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
       [not found] <bug-11707-10053@http.gcc.gnu.org/bugzilla/>
  2005-10-07  3:12 ` gdr at gcc dot gnu dot org
@ 2006-02-27 13:57 ` steven at gcc dot gnu dot org
  2006-02-27 14:04 ` rguenth at gcc dot gnu dot org
  2006-02-28  8:46 ` gdr at gcc dot gnu dot org
  3 siblings, 0 replies; 30+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-02-27 13:57 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #21 from steven at gcc dot gnu dot org  2006-02-27 13:55 -------
With the old loop optimizer gone, moving jump bypassing after loop2 is a quite
reasonable thing to do.  Richi, now you have the chance to get your patch in
after all, if it's still useful.

Other good thing about it: Maybe this makes another RTL jump threading pass
(the one after loop2) even more unuseful...


-- 


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


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

* [Bug rtl-optimization/11707] [3.4 Regression] [new unroller] constants not propagated in unrolled loop iterations with a conditional
       [not found] <bug-11707-10053@http.gcc.gnu.org/bugzilla/>
@ 2005-10-07  3:12 ` gdr at gcc dot gnu dot org
  2006-02-27 13:57 ` steven at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 30+ messages in thread
From: gdr at gcc dot gnu dot org @ 2005-10-07  3:12 UTC (permalink / raw)
  To: gcc-bugs



-- 

gdr at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4.5                       |3.4.6


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


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

end of thread, other threads:[~2006-02-28  8:43 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-07-29 13:34 [Bug optimization/11707] New: constants not propagated in unrolled loop iterations with a conditional rguenth at tat dot physik dot uni-tuebingen dot de
2003-07-29 13:40 ` [Bug optimization/11707] " pinskia at physics dot uc dot edu
2003-07-29 13:45 ` rguenth at tat dot physik dot uni-tuebingen dot de
2003-07-29 14:07 ` rguenth at tat dot physik dot uni-tuebingen dot de
2003-07-29 14:13 ` [Bug optimization/11707] [3.4 Regression] [new unroller] " pinskia at physics dot uc dot edu
2003-09-29 13:54 ` rakdver at gcc dot gnu dot org
2003-09-29 14:14 ` rakdver at gcc dot gnu dot org
2003-09-29 14:39 ` rguenth at tat dot physik dot uni-tuebingen dot de
2003-09-29 16:48 ` rguenth at tat dot physik dot uni-tuebingen dot de
2003-12-05  3:33 ` pinskia at gcc dot gnu dot org
2003-12-05 21:47 ` rakdver at atrey dot karlin dot mff dot cuni dot cz
2004-01-04  8:54 ` pinskia at gcc dot gnu dot org
2004-03-09 23:27 ` [Bug optimization/11707] [3.4/3.5 " mmitchel at gcc dot gnu dot org
2004-03-09 23:28 ` mmitchel at gcc dot gnu dot org
2004-03-21 18:24 ` steven at gcc dot gnu dot org
2004-06-18 23:41 ` [Bug rtl-optimization/11707] " mmitchel at gcc dot gnu dot org
2004-08-10  1:38 ` pinskia at gcc dot gnu dot org
2004-08-12  7:33 ` steven at gcc dot gnu dot org
2004-08-29 19:02 ` [Bug rtl-optimization/11707] [3.4 " mmitchel at gcc dot gnu dot org
2004-10-30 19:34 ` mmitchel at gcc dot gnu dot org
2004-11-01  0:45 ` mmitchel at gcc dot gnu dot org
2005-01-12 11:06 ` rguenth at tat dot physik dot uni-tuebingen dot de
2005-02-10 18:35 ` rguenth at gcc dot gnu dot org
2005-02-10 18:36 ` steven at gcc dot gnu dot org
2005-05-19 17:24 ` mmitchel at gcc dot gnu dot org
2005-08-22 12:49 ` pinskia at gcc dot gnu dot org
     [not found] <bug-11707-10053@http.gcc.gnu.org/bugzilla/>
2005-10-07  3:12 ` gdr at gcc dot gnu dot org
2006-02-27 13:57 ` steven at gcc dot gnu dot org
2006-02-27 14:04 ` rguenth at gcc dot gnu dot org
2006-02-28  8:46 ` gdr 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).