[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-08 Thread rguenth at gcc dot gnu dot org
--- Comment #31 from rguenth at gcc dot gnu dot org 2010-07-08 09:09 --- Subject: Bug 44838 Author: rguenth Date: Thu Jul 8 09:09:15 2010 New Revision: 161945 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161945 Log: 2010-07-08 Richard Guenther rguent...@suse.de PR

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-08 Thread rguenth at gcc dot gnu dot org
--- Comment #32 from rguenth at gcc dot gnu dot org 2010-07-08 09:16 --- Fixed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-08 Thread hjl at gcc dot gnu dot org
--- Comment #33 from hjl at gcc dot gnu dot org 2010-07-08 13:40 --- Subject: Bug 44838 Author: hjl Date: Thu Jul 8 13:40:24 2010 New Revision: 161953 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161953 Log: Add gcc.dg/pr44838.c. 2010-07-08 H.J. Lu hongjiu...@intel.com

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-07 Thread rguenth at gcc dot gnu dot org
--- Comment #14 from rguenth at gcc dot gnu dot org 2010-07-07 09:01 --- Huh. Unrolling preserves MEM_ATTRs even though it re-writes the RTXen. That causes scheduling to see just a bunch of repeated (insn 218 309 219 18 t.c:9 (parallel [ (set (mem:SI (reg/v/f:DI 1 dx

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-07 Thread rakdver at kam dot mff dot cuni dot cz
--- Comment #15 from rakdver at kam dot mff dot cuni dot cz 2010-07-07 09:37 --- Subject: Re: [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c --- Comment #14 from rguenth at gcc dot gnu dot org 2010-07-07 09:01 --- Huh. Unrolling preserves

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-07 Thread amonakov at gcc dot gnu dot org
--- Comment #16 from amonakov at gcc dot gnu dot org 2010-07-07 09:54 --- (In reply to comment #15) Subject: Re: [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c I am not sure what you mean -- I may be misunderstanding how rtl alias analysis works, but

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-07 Thread rakdver at kam dot mff dot cuni dot cz
--- Comment #17 from rakdver at kam dot mff dot cuni dot cz 2010-07-07 10:09 --- Subject: Re: [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c (In reply to comment #15) Subject: Re: [4.6 regression] RTL loop unrolling causes FAIL:

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-07 Thread rguenth at gcc dot gnu dot org
--- Comment #18 from rguenth at gcc dot gnu dot org 2010-07-07 10:30 --- (In reply to comment #17) Subject: Re: [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c (In reply to comment #15) Subject: Re: [4.6 regression] RTL loop unrolling

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-07 Thread rakdver at kam dot mff dot cuni dot cz
--- Comment #19 from rakdver at kam dot mff dot cuni dot cz 2010-07-07 10:35 --- Subject: Re: [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c I am not sure what you mean -- I may be misunderstanding how rtl alias analysis works, but as far as I

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-07 Thread rguenth at gcc dot gnu dot org
--- Comment #20 from rguenth at gcc dot gnu dot org 2010-07-07 10:43 --- (In reply to comment #19) Subject: Re: [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c I am not sure what you mean -- I may be misunderstanding how rtl alias analysis

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-07 Thread rakdver at kam dot mff dot cuni dot cz
--- Comment #21 from rakdver at kam dot mff dot cuni dot cz 2010-07-07 10:47 --- Subject: Re: [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c Consider this simplified example: for (i ...) { /*A*/ t = a[i]; /*B*/ a[i+1] = t;

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-07 Thread rguenth at gcc dot gnu dot org
--- Comment #22 from rguenth at gcc dot gnu dot org 2010-07-07 10:48 --- (In reply to comment #21) Subject: Re: [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c Consider this simplified example: for (i ...) { /*A*/ t =

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-07 Thread rakdver at kam dot mff dot cuni dot cz
--- Comment #23 from rakdver at kam dot mff dot cuni dot cz 2010-07-07 10:51 --- Subject: Re: [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c Consider this simplified example: for (i ...) { /*A*/ t = a[i]; /*B*/

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-07 Thread rguenth at gcc dot gnu dot org
--- Comment #24 from rguenth at gcc dot gnu dot org 2010-07-07 11:06 --- In ... *p_1 = x; y = *(p_1 + 1); ... I can say that *p_1 does not alias *(p_1 + 1) independent on what code is around. If it would be BB3: # p_1 = PHI p_0, p_2(3) *p_1 = x; y = *(p_1 + 1);

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-07 Thread matz at gcc dot gnu dot org
--- Comment #25 from matz at gcc dot gnu dot org 2010-07-07 11:15 --- Due to SSA form the alias information reflects dependencies only between accesses as if it ignores back edges. Hence any transformation that transforms a back edge into a forward edge, or moves code over back edges

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-07 Thread rakdver at kam dot mff dot cuni dot cz
--- Comment #26 from rakdver at kam dot mff dot cuni dot cz 2010-07-07 11:19 --- Subject: Re: [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c In ... *p_1 = x; y = *(p_1 + 1); ... I can say that *p_1 does not alias *(p_1 + 1) independent

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-07 Thread rakdver at kam dot mff dot cuni dot cz
--- Comment #27 from rakdver at kam dot mff dot cuni dot cz 2010-07-07 11:31 --- Subject: Re: [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c Due to SSA form the alias information reflects dependencies only between accesses as if it ignores back edges.

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-07 Thread rguenth at gcc dot gnu dot org
--- Comment #28 from rguenth at gcc dot gnu dot org 2010-07-07 11:59 --- The following is a fix (or workaround) for the problem. Index: gcc/tree-ssa-alias.c === --- gcc/tree-ssa-alias.c(revision 161869) +++

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-07 Thread matz at gcc dot gnu dot org
--- Comment #29 from matz at gcc dot gnu dot org 2010-07-07 12:10 --- [just for completeness to not lose the thought:] Thinking about this some more (triggered by the problem of not having nice back edges in irreducible loops), it's not really the back edges that are interesting but the

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-07 Thread rguenth at gcc dot gnu dot org
--- Comment #30 from rguenth at gcc dot gnu dot org 2010-07-07 13:58 --- I'm going to test the patch in comment #28. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added