[Bug fortran/43996] ICE in simplification of spread intrinsic

2010-05-15 Thread dominiq at lps dot ens dot fr
--- Comment #13 from dominiq at lps dot ens dot fr 2010-05-15 16:43 --- AFAICT revision 159366 (fix of pr35779) has the side effect of fixing the ICE reported in comment #0 without patching gcc/fortran/simplify.c as in comment #0. --

[Bug fortran/43996] ICE in simplification of spread intrinsic

2010-05-15 Thread dominiq at lps dot ens dot fr
--- Comment #14 from dominiq at lps dot ens dot fr 2010-05-15 21:21 --- (In reply to comment #13) AFAICT revision 159366 (fix of pr35779) has the side effect of fixing the ICE reported in comment #0 without patching gcc/fortran/simplify.c as in comment comment #0. No longer true at

[Bug fortran/43996] ICE in simplification of spread intrinsic

2010-05-06 Thread dominiq at lps dot ens dot fr
--- Comment #9 from dominiq at lps dot ens dot fr 2010-05-06 08:51 --- (In reply to comment #8) For increasing N it (a) takes longer and longer - probably quadratic time - N=100: 0.716u 0.031s 0:00.75 N=200: 5.297u 0.071s 0:05.37 N=400: 40.334u 0.125s 0:40.76 It looks like cubic

[Bug fortran/43996] ICE in simplification of spread intrinsic

2010-05-06 Thread dfranke at gcc dot gnu dot org
--- Comment #10 from dfranke at gcc dot gnu dot org 2010-05-06 10:00 --- (In reply to comment #9) It looks like cubic time in N. http://en.wikipedia.org/wiki/Matrix_multiplication#Algorithms_for_efficient_matrix_multiplication: The running time of square matrix multiplication, if

[Bug fortran/43996] ICE in simplification of spread intrinsic

2010-05-06 Thread dominiq at lps dot ens dot fr
--- Comment #11 from dominiq at lps dot ens dot fr 2010-05-06 10:27 --- ... O(mnp) ... With m=n=N and p=1, this gives O(N^2), hence my expectation for MATMUL in comment #9!-) Question: what is the origin of the O(N^3) time? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43996

[Bug fortran/43996] ICE in simplification of spread intrinsic

2010-05-06 Thread dfranke at gcc dot gnu dot org
--- Comment #12 from dfranke at gcc dot gnu dot org 2010-05-06 10:32 --- (In reply to comment #11) Question: what is the origin of the O(N^3) time? Building of and operating on a tree of 10.000, 40.000, 90.000, ... elements respectively? Probably cheaper then linked lists, but not

[Bug fortran/43996] ICE in simplification of spread intrinsic

2010-05-05 Thread dfranke at gcc dot gnu dot org
--- Comment #1 from dfranke at gcc dot gnu dot org 2010-05-05 21:22 --- And I checked again. There's nothing on i686-pc-linux-gnu. Not even with valgrind, Btw, Dominique, since valgrind-3.5.0, it is available for Mac as well [1]. Would you mind to get valgrind and run f951 through it?

[Bug fortran/43996] ICE in simplification of spread intrinsic

2010-05-05 Thread dominiq at lps dot ens dot fr
--- Comment #2 from dominiq at lps dot ens dot fr 2010-05-05 21:30 --- And I checked again. There's nothing on i686-pc-linux-gnu. Not even with valgrind, Could someone try on x86_64-*-linux-*? Btw, Dominique, since valgrind-3.5.0, it is available for Mac as well [1]. Would you

[Bug fortran/43996] ICE in simplification of spread intrinsic

2010-05-05 Thread dominiq at lps dot ens dot fr
--- Comment #3 from dominiq at lps dot ens dot fr 2010-05-05 21:48 --- With i686-apple-darwin9 at revision 156693, valgrind gives: MAIN__ pr40472_1.f90:2:0: internal compiler error: in gfc_conv_array_initializer, at fortran/trans-array.c:4189 Please submit a full bug report, with

[Bug fortran/43996] ICE in simplification of spread intrinsic

2010-05-05 Thread dfranke at gcc dot gnu dot org
--- Comment #4 from dfranke at gcc dot gnu dot org 2010-05-05 21:59 --- For ICEs, the interesting messages are before the ICE itself; most often something like invalid read, invalid write or used of uninitialized value. The loss records are (mainly) due to the ICE which doesn't allow

[Bug fortran/43996] ICE in simplification of spread intrinsic

2010-05-05 Thread dominiq at lps dot ens dot fr
--- Comment #5 from dominiq at lps dot ens dot fr 2010-05-05 22:02 --- What is before MAIN__ is: [ibook-dhum] f90/bug% valgrind --leak-check=full --show-reachable=yes /opt/gcc/gcc4.5w/libexec/gcc/i686-apple-darwin9/4.5.0/f951 pr40472_1.f90 ==187== Memcheck, a memory error detector.

[Bug fortran/43996] ICE in simplification of spread intrinsic

2010-05-05 Thread dfranke at gcc dot gnu dot org
--- Comment #6 from dfranke at gcc dot gnu dot org 2010-05-05 22:18 --- Ignore my previous claims. I now realized that you used a somewhat different testcase, not the one from PR40472 - my bad :( $ time gfortran-svn pr43996.f90 pr43996.f90: In function 'MAIN__': pr43996.f90:4:0:

[Bug fortran/43996] ICE in simplification of spread intrinsic

2010-05-05 Thread dominiq at lps dot ens dot fr
--- Comment #7 from dominiq at lps dot ens dot fr 2010-05-05 22:28 --- The patch has the same effect as the -fmax-array-constructor=HUGE. It makes also the compilation slightly faster: [macbook] f90/bug% time gfcp -fmax-array-constructor=259200 pr40472_1.f90 4.524u 0.547s 0:05.22

[Bug fortran/43996] ICE in simplification of spread intrinsic

2010-05-05 Thread dfranke at gcc dot gnu dot org
--- Comment #8 from dfranke at gcc dot gnu dot org 2010-05-05 23:08 --- It's late, but a conjecture ... trans-array.c (gfc_conv_array_initializer): /* Create an array constructor from an initialization expression. We assume the frontend already did any expansions and conversions.