public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/21488] New: [4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure
@ 2005-05-10 12:48 steven at gcc dot gnu dot org
2005-05-10 13:29 ` [Bug tree-optimization/21488] [4.0/4.1 " steven at gcc dot gnu dot org
` (13 more replies)
0 siblings, 14 replies; 18+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-05-10 12:48 UTC (permalink / raw)
To: gcc-bugs
-----------------------------------
void bar (unsigned int);
unsigned int
foo (void)
{
unsigned int i, j;
for (i = 1; i < 30; i++)
{
j = 2 + 3*i;
bar (j);
}
return j;
}
-----------------------------------
--> .optimized:
foo ()
{
unsigned intD.3 ivtmp.10D.1589;
unsigned intD.3 ivtmp.2D.1581;
unsigned intD.3 pretmp.1D.1580;
unsigned intD.3 pretmp.0D.1579;
unsigned intD.3 jD.1567;
unsigned intD.3 iD.1566;
unsigned intD.3 D.1572;
unsigned intD.3 D.1571;
# BLOCK 0
# PRED: ENTRY [100.0%] (fallthru,exec)
# SUCC: 1 [100.0%] (fallthru,exec)
# BLOCK 1
# PRED: 1 [96.5%] (dfs_back,true,exec) 0 [100.0%] (fallthru,exec)
# jD.1567_2 = PHI <jD.1567_13(1), 5(0)>;
<L0>:;
bar (jD.1567_2);
jD.1567_13 = jD.1567_2 + 3;
if (jD.1567_13 != 92) goto <L0>; else goto <L2>;
# SUCC: 1 [96.5%] (dfs_back,true,exec) 2 [3.5%] (loop_exit,false,exec)
# BLOCK 2
# PRED: 1 [3.5%] (loop_exit,false,exec)
# jD.1567_3 = PHI <jD.1567_2(1)>;
<L2>:;
return jD.1567_3;
# SUCC: EXIT [100.0%]
}
--> .vars
foo ()
{
unsigned intD.3 j.13D.1592;
unsigned intD.3 jD.1567;
# BLOCK 0
# PRED: ENTRY [100.0%] (fallthru,exec)
jD.1567 = 5;
# SUCC: 1 [100.0%] (fallthru,exec)
# BLOCK 1
# PRED: 3 [100.0%] (fallthru) 0 [100.0%] (fallthru,exec)
<L0>:;
bar (jD.1567);
j.13D.1592 = jD.1567 + 3;
if (j.13D.1592 != 92) goto <L8>; else goto <L2>;
# SUCC: 3 [96.5%] (dfs_back,true,exec) 2 [3.5%] (loop_exit,false,exec)
# BLOCK 3
# PRED: 1 [96.5%] (dfs_back,true,exec)
<L8>:;
jD.1567 = j.13D.1592;
goto <bb 1> (<L0>);
# SUCC: 1 [100.0%] (fallthru)
# BLOCK 2
# PRED: 1 [3.5%] (loop_exit,false,exec)
<L2>:;
return jD.1567;
# SUCC: EXIT [100.0%]
}
Note the copy inside the loop, and the extra basic block that is needed
for it. This happens because j_2 and j_13 are not coalesced when going
out of SSA form. We never again get rid of it later on:
foo:
pushq %rbx
movl $5, %ebx
jmp .L2
.p2align 4,,7
.L7:
movl %eax, %ebx
.L2:
movl %ebx, %edi
call bar
leal 3(%rbx), %eax
cmpl $92, %eax
jne .L7
movl %ebx, %eax
popq %rbx
ret
This is a regression from GCC 4.0 that is most likely to blame on the
copy propagation pass that Diego merged in from the tree-cleanup-branch.
It causes a number of performance regressions on various targets.
The bug looks somewhat similar to the issue previously discussed in
PR18048, but I haven't checked if that bug is also affected by this
problem.
--
Summary: [4.1 regression] Not copy propagating single-argument
PHIs causes out-of-ssa coalescing failure
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Keywords: missed-optimization, TREE
Severity: normal
Priority: P2
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: steven at gcc dot gnu dot org
CC: amacleod at redhat dot com,dnovillo at redhat dot
com,gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21488
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/21488] [4.0/4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure
2005-05-10 12:48 [Bug tree-optimization/21488] New: [4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure steven at gcc dot gnu dot org
@ 2005-05-10 13:29 ` steven at gcc dot gnu dot org
2005-05-10 13:35 ` steven at gcc dot gnu dot org
` (12 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-05-10 13:29 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From steven at gcc dot gnu dot org 2005-05-10 13:29 -------
Actually, GCC 4.0 has this problem also.
GCC 3.3:
foo:
pushq %rbp
movl $1, %ebp
pushq %rbx
movl $5, %ebx
subq $8, %rsp
.p2align 4,,7
.L6:
movl %ebx, %edi
incl %ebp
addl $3, %ebx
call bar
cmpl $29, %ebp
jbe .L6
addq $8, %rsp
movl $89, %eax
popq %rbx
popq %rbp
ret
GCC 4.0:
foo:
pushq %rbx
movl $5, %ebx
jmp .L2
.p2align 4,,7
.L7:
movl %eax, %ebx
.L2:
movl %ebx, %edi
call bar
leal 3(%rbx), %eax
cmpl $92, %eax
jne .L7
movl %ebx, %eax
popq %rbx
ret
GCC CVS head as of today:
foo:
pushq %rbx
movl $5, %ebx
jmp .L2
.p2align 4,,7
.L7:
movl %eax, %ebx
.L2:
movl %ebx, %edi
call bar
leal 3(%rbx), %eax
cmpl $92, %eax
jne .L7
movl %ebx, %eax
popq %rbx
ret
--
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.1 regression] Not copy |[4.0/4.1 regression] Not
|propagating single-argument |copy propagating single-
|PHIs causes out-of-ssa |argument PHIs causes out-of-
|coalescing failure |ssa coalescing failure
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21488
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/21488] [4.0/4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure
2005-05-10 12:48 [Bug tree-optimization/21488] New: [4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure steven at gcc dot gnu dot org
2005-05-10 13:29 ` [Bug tree-optimization/21488] [4.0/4.1 " steven at gcc dot gnu dot org
@ 2005-05-10 13:35 ` steven at gcc dot gnu dot org
2005-05-10 14:14 ` steven at gcc dot gnu dot org
` (11 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-05-10 13:35 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
BugsThisDependsOn| |19038
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21488
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/21488] [4.0/4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure
2005-05-10 12:48 [Bug tree-optimization/21488] New: [4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure steven at gcc dot gnu dot org
2005-05-10 13:29 ` [Bug tree-optimization/21488] [4.0/4.1 " steven at gcc dot gnu dot org
2005-05-10 13:35 ` steven at gcc dot gnu dot org
@ 2005-05-10 14:14 ` steven at gcc dot gnu dot org
2005-05-10 17:48 ` pinskia at gcc dot gnu dot org
` (10 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-05-10 14:14 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From steven at gcc dot gnu dot org 2005-05-10 14:14 -------
This is IVopts producing unresolvable overlapping live ranges again:
t.c.t56.cunroll:
foo ()
{
unsigned int pretmp.1;
unsigned int pretmp.0;
unsigned int j;
unsigned int i;
unsigned int D.1572;
unsigned int D.1571;
<bb 0>:
# i_12 = PHI <i_9(3), 1(0)>;
<L0>:;
D.1571_7 = i_12 * 3;
j_8 = D.1571_7 + 2;
bar (j_8);
i_9 = i_12 + 1;
if (i_9 <= 29) goto <L7>; else goto <L2>;
<L7>:;
goto <bb 1> (<L0>);
# j_3 = PHI <j_8(1)>;
<L2>:;
return j_3;
}
t.c.t57.ivopts:
foo ()
{
unsigned int ivtmp.6;
unsigned int pretmp.1;
unsigned int pretmp.0;
unsigned int j;
unsigned int i;
unsigned int D.1572;
unsigned int D.1571;
<bb 0>:
# ivtmp.6_1 = PHI <ivtmp.6_2(3), 5(0)>;
<L0>:;
j_8 = ivtmp.6_1;
bar (j_8);
ivtmp.6_2 = ivtmp.6_1 + 3;
if (ivtmp.6_2 != 92) goto <L7>; else goto <L2>;
<L7>:;
goto <bb 1> (<L0>);
# j_3 = PHI <j_8(1)>;
<L2>:;
return j_3;
}
Because j_8 escapes from the loop and ivtmp is modified after j_8, we
have this problem.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21488
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/21488] [4.0/4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure
2005-05-10 12:48 [Bug tree-optimization/21488] New: [4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure steven at gcc dot gnu dot org
` (2 preceding siblings ...)
2005-05-10 14:14 ` steven at gcc dot gnu dot org
@ 2005-05-10 17:48 ` pinskia at gcc dot gnu dot org
2005-05-10 20:32 ` pinskia at gcc dot gnu dot org
` (9 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-05-10 17:48 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-05-10 17:48 -------
Confirmed and has been a bug since "3.5.0 20040909".
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2005-05-10 17:48:10
date| |
Target Milestone|--- |4.0.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21488
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/21488] [4.0/4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure
2005-05-10 12:48 [Bug tree-optimization/21488] New: [4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure steven at gcc dot gnu dot org
` (3 preceding siblings ...)
2005-05-10 17:48 ` pinskia at gcc dot gnu dot org
@ 2005-05-10 20:32 ` pinskia at gcc dot gnu dot org
2005-05-10 20:33 ` pinskia at gcc dot gnu dot org
` (8 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-05-10 20:32 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-05-10 20:32 -------
Shouldn't we know what value j has at this point?
# j_3 = PHI <j_8(1)>;
<L2>:;
return j_3;
92 - 3?
--
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed|2005-05-10 17:48:10 |2005-05-10 20:32:24
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21488
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/21488] [4.0/4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure
2005-05-10 12:48 [Bug tree-optimization/21488] New: [4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure steven at gcc dot gnu dot org
` (4 preceding siblings ...)
2005-05-10 20:32 ` pinskia at gcc dot gnu dot org
@ 2005-05-10 20:33 ` pinskia at gcc dot gnu dot org
2005-05-10 22:28 ` rakdver at gcc dot gnu dot org
` (7 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-05-10 20:33 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-05-10 20:33 -------
Anyways here is a testcase which should not produce a constant after the loop:
int bar (unsigned int);
unsigned int
foo (void)
{
unsigned int i, j;
for (i = 1; i < 30; i++)
{
j = 2 + 3*i;
if (bar (j))
break;
}
return j;
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21488
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/21488] [4.0/4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure
2005-05-10 12:48 [Bug tree-optimization/21488] New: [4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure steven at gcc dot gnu dot org
` (5 preceding siblings ...)
2005-05-10 20:33 ` pinskia at gcc dot gnu dot org
@ 2005-05-10 22:28 ` rakdver at gcc dot gnu dot org
2005-05-10 23:07 ` pinskia at gcc dot gnu dot org
` (6 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: rakdver at gcc dot gnu dot org @ 2005-05-10 22:28 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rakdver at gcc dot gnu dot org 2005-05-10 22:28 -------
Actually, ivopts do not produce any "unresolvable overlapping live ranges".
It does not change life range of j_8 at all, and only replaces the variable
i by more suitable strength reduced version ivtmp.6. Note that immediately
after ivopts, ivtmp.6_2 and ivtmp.6_1 can be coalesced.
Some later pass renames all the references to ivtmp.6 to j, thus creating the
overlapping life ranges.
The loop may become one of the following three possibilities:
a)
x = 5;
while (1)
{
j = x;
bar (j);
x = x + 3;
if (...)
break;
}
return j;
or
b)
x = 5;
while (1)
{
bar (x);
x1 = x + 3;
if (...)
break;
x = x1;
}
return x;
or
c)
x = 5;
while (1)
{
bar (x);
if (...)
break;
x = x + 3;
}
return x;
a) is the one chosen by ivopts.
b) is the one some copy propagation pass converts it to later.
c) is not used by ivopts in order to prevent creation of loops with multiple
basic blocks (see PR 19038). It would be possible to teach ivopts to handle
this special case, but I don't think c) is that much better than a) (one more
assignment inside the loop body, but a) is easier to schedule).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21488
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/21488] [4.0/4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure
2005-05-10 12:48 [Bug tree-optimization/21488] New: [4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure steven at gcc dot gnu dot org
` (6 preceding siblings ...)
2005-05-10 22:28 ` rakdver at gcc dot gnu dot org
@ 2005-05-10 23:07 ` pinskia at gcc dot gnu dot org
2005-05-10 23:21 ` dnovillo at redhat dot com
` (5 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-05-10 23:07 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-05-10 23:07 -------
Both DOM and copyprop are messing this up.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21488
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/21488] [4.0/4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure
2005-05-10 12:48 [Bug tree-optimization/21488] New: [4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure steven at gcc dot gnu dot org
` (7 preceding siblings ...)
2005-05-10 23:07 ` pinskia at gcc dot gnu dot org
@ 2005-05-10 23:21 ` dnovillo at redhat dot com
2005-05-10 23:27 ` pinskia at gcc dot gnu dot org
` (4 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: dnovillo at redhat dot com @ 2005-05-10 23:21 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dnovillo at redhat dot com 2005-05-10 23:21 -------
Subject: Re: [4.0/4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure
On Tue, May 10, 2005 at 11:07:24PM -0000, pinskia at gcc dot gnu dot org wrote:
>
> ------- Additional Comments From pinskia at gcc dot gnu dot org 2005-05-10 23:07 -------
> Both DOM and copyprop are messing this up.
>
Be more specific:
1- What exactly is being "messed up".
2- Why is it wrong?
3- How would "fixing" this affect PR 18048?
4- What do you think should be done differently?
You know, it is extremely irritating to read these one liners
that offer no valuable information at all.
It's not the first time you do this, please be more considerate
in the future. If you don't have anything useful to contribute,
silence is a perfectly valid option.
Diego.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21488
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/21488] [4.0/4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure
2005-05-10 12:48 [Bug tree-optimization/21488] New: [4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure steven at gcc dot gnu dot org
` (8 preceding siblings ...)
2005-05-10 23:21 ` dnovillo at redhat dot com
@ 2005-05-10 23:27 ` pinskia at gcc dot gnu dot org
2005-05-10 23:34 ` dnovillo at redhat dot com
` (3 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-05-10 23:27 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-05-10 23:27 -------
(In reply to comment #8)
> Be more specific:
>
> 1- What exactly is being "messed up".
Read Zdenek's comment about renaming them.
> 2- Why is it wrong?
Because now we have "unresolvable overlapping live ranges"
> 3- How would "fixing" this affect PR 18048?
I don't know if it does. The bug which Steven was referencing was really PR 19038, well there was some
discussion in PR 18048 about this problem also.
> 4- What do you think should be done differently?
Not creating "unresolvable overlapping live ranges", how I don't know.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21488
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/21488] [4.0/4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure
2005-05-10 12:48 [Bug tree-optimization/21488] New: [4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure steven at gcc dot gnu dot org
` (9 preceding siblings ...)
2005-05-10 23:27 ` pinskia at gcc dot gnu dot org
@ 2005-05-10 23:34 ` dnovillo at redhat dot com
2005-07-08 1:44 ` mmitchel at gcc dot gnu dot org
` (2 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: dnovillo at redhat dot com @ 2005-05-10 23:34 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dnovillo at redhat dot com 2005-05-10 23:33 -------
Subject: Re: [4.0/4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure
On Tue, May 10, 2005 at 11:27:17PM -0000, pinskia at gcc dot gnu dot org wrote:
>
> ------- Additional Comments From pinskia at gcc dot gnu dot org 2005-05-10 23:27 -------
> (In reply to comment #8)
>
> > Be more specific:
> >
> > 1- What exactly is being "messed up".
> Read Zdenek's comment about renaming them.
>
> > 2- Why is it wrong?
>
> Because now we have "unresolvable overlapping live ranges"
>
> > 3- How would "fixing" this affect PR 18048?
> I don't know if it does. The bug which Steven was referencing was really PR 19038, well there was some
> discussion in PR 18048 about this problem also.
>
> > 4- What do you think should be done differently?
> Not creating "unresolvable overlapping live ranges", how I don't know.
>
You really didn't understand my point, did you? You needlessly
added noise to the PR. Nothing you said was new information nor
was it useful to the person fixing this problem.
I appreciate the triaging work that you do, but I don't
appreciate random noise in PRs, particularly when that implies
more mail in my inbox.
Diego.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21488
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/21488] [4.0/4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure
2005-05-10 12:48 [Bug tree-optimization/21488] New: [4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure steven at gcc dot gnu dot org
` (10 preceding siblings ...)
2005-05-10 23:34 ` dnovillo at redhat dot com
@ 2005-07-08 1:44 ` mmitchel at gcc dot gnu dot org
2005-08-11 19:43 ` pinskia at gcc dot gnu dot org
2005-09-27 16:15 ` mmitchel at gcc dot gnu dot org
13 siblings, 0 replies; 18+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-07-08 1:44 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.0.1 |4.0.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21488
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/21488] [4.0/4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure
2005-05-10 12:48 [Bug tree-optimization/21488] New: [4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure steven at gcc dot gnu dot org
` (11 preceding siblings ...)
2005-07-08 1:44 ` mmitchel at gcc dot gnu dot org
@ 2005-08-11 19:43 ` pinskia at gcc dot gnu dot org
2005-09-27 16:15 ` mmitchel at gcc dot gnu dot org
13 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-08-11 19:43 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-11 19:43 -------
Here is an example which shows that IV-OPTs is not the cause and that we have the same issue and
shows what is going wrong clearer:
int k(int);
int h(void);
long h1(void);
int f(int i)
{
int oldii;
int ii;
ii = h1();
do
{
oldii = ii;
k(ii);
ii = oldii + h();
} while (i<ii);
return oldii;
}
We remove the use of oldii and use ii_n instead, I think we are coalescing the wrong two ii_n and not
the two inside the loop but the one that was called oldii with the one before the loop.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21488
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/21488] [4.0/4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure
2005-05-10 12:48 [Bug tree-optimization/21488] New: [4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure steven at gcc dot gnu dot org
` (12 preceding siblings ...)
2005-08-11 19:43 ` pinskia at gcc dot gnu dot org
@ 2005-09-27 16:15 ` mmitchel at gcc dot gnu dot org
13 siblings, 0 replies; 18+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-09-27 16:15 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.0.2 |4.0.3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21488
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/21488] [4.0/4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure
[not found] <bug-21488-280@http.gcc.gnu.org/bugzilla/>
2005-10-16 22:15 ` pinskia at gcc dot gnu dot org
2005-10-31 3:27 ` mmitchel at gcc dot gnu dot org
@ 2005-11-13 1:38 ` steven at gcc dot gnu dot org
2 siblings, 0 replies; 18+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-11-13 1:38 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from steven at gcc dot gnu dot org 2005-11-13 01:38 -------
Doesn't happen anymore on current mainline.
--
steven at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21488
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/21488] [4.0/4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure
[not found] <bug-21488-280@http.gcc.gnu.org/bugzilla/>
2005-10-16 22:15 ` pinskia at gcc dot gnu dot org
@ 2005-10-31 3:27 ` mmitchel at gcc dot gnu dot org
2005-11-13 1:38 ` steven at gcc dot gnu dot org
2 siblings, 0 replies; 18+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-10-31 3:27 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from mmitchel at gcc dot gnu dot org 2005-10-31 03:27 -------
Like Diego, I'd like to understand this PR better. Not with a guess, but with
a concrete explanation. If there's an overlapping live range, what range is
it? In order to understand these kinds of optimization PRs, we really need a
better level of detail.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21488
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/21488] [4.0/4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure
[not found] <bug-21488-280@http.gcc.gnu.org/bugzilla/>
@ 2005-10-16 22:15 ` pinskia at gcc dot gnu dot org
2005-10-31 3:27 ` mmitchel at gcc dot gnu dot org
2005-11-13 1:38 ` steven at gcc dot gnu dot org
2 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-10-16 22:15 UTC (permalink / raw)
To: gcc-bugs
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |minor
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21488
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2005-11-13 1:38 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-05-10 12:48 [Bug tree-optimization/21488] New: [4.1 regression] Not copy propagating single-argument PHIs causes out-of-ssa coalescing failure steven at gcc dot gnu dot org
2005-05-10 13:29 ` [Bug tree-optimization/21488] [4.0/4.1 " steven at gcc dot gnu dot org
2005-05-10 13:35 ` steven at gcc dot gnu dot org
2005-05-10 14:14 ` steven at gcc dot gnu dot org
2005-05-10 17:48 ` pinskia at gcc dot gnu dot org
2005-05-10 20:32 ` pinskia at gcc dot gnu dot org
2005-05-10 20:33 ` pinskia at gcc dot gnu dot org
2005-05-10 22:28 ` rakdver at gcc dot gnu dot org
2005-05-10 23:07 ` pinskia at gcc dot gnu dot org
2005-05-10 23:21 ` dnovillo at redhat dot com
2005-05-10 23:27 ` pinskia at gcc dot gnu dot org
2005-05-10 23:34 ` dnovillo at redhat dot com
2005-07-08 1:44 ` mmitchel at gcc dot gnu dot org
2005-08-11 19:43 ` pinskia at gcc dot gnu dot org
2005-09-27 16:15 ` mmitchel at gcc dot gnu dot org
[not found] <bug-21488-280@http.gcc.gnu.org/bugzilla/>
2005-10-16 22:15 ` pinskia at gcc dot gnu dot org
2005-10-31 3:27 ` mmitchel at gcc dot gnu dot org
2005-11-13 1:38 ` steven 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).