[Bug middle-end/37951] -ftree-parallelize-loops=2 fails for MA57
--- Comment #11 from dennis dot wassel at googlemail dot com 2010-07-02 09:15 --- Created an attachment (id=21062) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21062action=view) Reduced testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37951
[Bug middle-end/37951] -ftree-parallelize-loops=2 fails for MA57
--- Comment #10 from dennis dot wassel at googlemail dot com 2009-05-04 08:50 --- Edited the Known to fail instead of Reported against. -- dennis dot wassel at googlemail dot com changed: What|Removed |Added Known to fail||4.3.2 4.3.3 Version|4.3.3 |4.3.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37951
[Bug middle-end/37951] -ftree-parallelize-loops=2 fails for MA57
--- Comment #9 from dennis dot wassel at googlemail dot com 2009-05-04 08:45 --- Also fails with 4.3.3 (precisely the same error message as 4.3.2) gfortran -O2 -ftree-parallelize-loops=2 -c ma57.f -o ma57.o ma57.f: In function 'ma57od': ma57.f:2724: error: edge from 676 to 686 should be marked irreducible ma57.f:2724: error: basic block 686 should be marked irreducible ma57.f:2724: error: edge from 686 to 679 should be marked irreducible ma57.f:2724: error: basic block 679 should be marked irreducible ma57.f:2724: error: edge from 679 to 124 should be marked irreducible ma57.f:2724: confused by earlier errors, bailing out Using built-in specs. Target: i686-pc-linux-gnu Configured with: ../gcc-4.3.3/configure --prefix=/localdata --program-suffix=-4.3.3 --enable-languages=c,c++,fortran --with-gmp=/localdata --with-mpfr=/localdata --enable-version-specific-runtime-libs Thread model: posix gcc version 4.3.3 (GCC) COLLECT_GCC_OPTIONS='-v' '-O2' '-ftree-parallelize-loops=2' '-c' '-o' 'ma57.o' '-mtune=generic' '-pthread' /localdata/libexec/gcc/i686-pc-linux-gnu/4.3.3/f951 ma57.f -ffixed-form -quiet -dumpbase ma57.f -mtune=generic -auxbase-strip ma57.o -O2 -version -ftree-parallelize-loops=2 -fintrinsic-modules-path /localdata/lib/gcc/i686-pc-linux-gnu/4.3.3/finclude -o /tmp/ccHYlhlQ.s GNU F95 (GCC) version 4.3.3 (i686-pc-linux-gnu) compiled by GNU C version 4.3.3, GMP version 4.3, MPFR version 2.4.1-p5. warning: GMP header version 4.3 differs from library version 4.3.0. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Is anyone interested in fixing this? I think it would not infringe the spirit of license agreement, if I provided someone off-list with the source _for debugging purposes only_. -- dennis dot wassel at googlemail dot com changed: What|Removed |Added CC||dennis dot wassel at ||googlemail dot com Version|4.3.2 |4.3.3 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37951
[Bug middle-end/37951] -ftree-parallelize-loops=2 fails for MA57
--- Comment #8 from dennis dot wassel at googlemail dot com 2008-11-27 10:32 --- (In reply to comment #6) This ICE is different than the one you reported first: this fails in the debug dumps function. Could you report the backtrace using the following flags: gfortran -O3 -ftree-vectorize -ftree-parallelize-loops=2 -c ma57.f Found the error report function and put a breakpoint on it. This is where the trouble stems from: Starting program: /localdata/libexec/gcc/i686-pc-linux-gnu/4.3.2/f951 ma57.f -ffixed-form -quiet -dumpbase ma57.f -mtune=athlon64 -march=athlon64 -auxbase ma57 -O3 -version -ftree-vectorize -ftree-parallelize-loops=2 -fintrinsic-modules-path /localdata/bin/../lib/gcc/i686-pc-linux-gnu/4.3.2/finclude -o /tmp/cc2PjThK.s Failed to read a valid object file image from memory. GNU F95 (GCC) version 4.3.2 (i686-pc-linux-gnu) compiled by GNU C version 4.3.2, GMP version 4.2.2, MPFR version 2.3.1. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Breakpoint 2, pp_printf (pp=0x87a3050, msg=0x862be16 In function %qs) at pretty-print.c:772 (gdb) bt #0 pp_printf (pp=0x87a3050, msg=0x862be16 In function %qs) at pretty-print.c:772 #1 0x08218c00 in lhd_print_error_function (..., file=0x87c56d8 ma57.f, ...) at langhooks.c:408 #2 0x08177791 in diagnostic_report_current_function at diagnostic.c:268 #3 0x08177d79 in default_diagnostic_starter at diagnostic.c:306 #4 0x08177a42 in diagnostic_report_diagnostic at diagnostic.c:421 #5 0x0817811f in error (gmsgid=0x86d295c edge from %d to %d should be marked irreducible) at diagnostic.c:558 #6 0x08557f9a in verify_loop_structure () at cfgloop.c:1433 #7 0x08304d0a in parallelize_loops () at tree-parloops.c:1801 #8 0x08355be5 in tree_parallelize_loops () at tree-ssa-loop.c:486 #9 0x082466ea in execute_one_pass (pass=0x875c440) at passes.c:1122 #10 0x082469ef in execute_pass_list (pass=0x875c440) at passes.c:1175 #11 0x08246a10 in execute_pass_list (pass=0x875c100) at passes.c:1176 #12 0x08246a10 in execute_pass_list (pass=0x875b900) at passes.c:1176 #13 0x082fe85a in tree_rest_of_compilation (fndecl=0xb7a575b0) at tree-optimize.c:404 #14 0x084081fd in cgraph_expand_function (node=0xb79e5680) at cgraphunit.c:1157 #15 0x08408cc5 in cgraph_optimize () at cgraphunit.c:1220 #16 0x080e7c95 in gfc_be_parse_file (set_yydebug=0) at fortran/f95-lang.c:264 #17 0x082ca6f8 in toplev_main (argc=18, argv=0xbf9c8714) at toplev.c:1042 #18 0x08127aff in main (argc=142225528, argv=0x8be3d70) at main.c:35 If I remove both the -march and -mtune options, the error message changes (different edge numbers/indices/whatever) to ma57.f: In function 'ma57od': ma57.f:2724: error: edge from 694 to 704 should be marked irreducible ma57.f:2724: error: basic block 704 should be marked irreducible ma57.f:2724: error: edge from 704 to 697 should be marked irreducible ma57.f:2724: error: basic block 697 should be marked irreducible ma57.f:2724: error: edge from 697 to 120 should be marked irreducible ma57.f:2724: confused by earlier errors, bailing out Cheers, Dennis -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37951
[Bug middle-end/37951] -ftree-parallelize-loops=2 fails for MA57
--- Comment #7 from dennis dot wassel at googlemail dot com 2008-11-27 10:09 --- (In reply to comment #6) This ICE is different than the one you reported first: this fails in the debug dumps function. Could you report the backtrace using the following flags: gfortran -O3 -ftree-vectorize -ftree-parallelize-loops=2 -c ma57.f This does not produce an ICE but the following fatal error (just checked: it's exactly the same as the one in my first post without -ftree-vectorize) gfortran -O3 -ftree-vectorize -ftree-parallelize-loops=2 -c ma57.f ma57.f: In function 'ma57od': ma57.f:2724: error: edge from 840 to 850 should be marked irreducible ma57.f:2724: error: basic block 850 should be marked irreducible ma57.f:2724: error: edge from 850 to 843 should be marked irreducible ma57.f:2724: error: basic block 843 should be marked irreducible ma57.f:2724: error: edge from 843 to 160 should be marked irreducible ma57.f:2724: confused by earlier errors, bailing out -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37951
Re: [Bug middle-end/37951] -ftree-parallelize-loops=2 fails for MA57
gfortran -O3 -fdump-tree-vect-details -ftree-vectorize -ftree-parallelize-loops=2 -c ma57.f ma57.f: In function 'ma57sd': ma57.f:1538: internal compiler error: Segmentation fault [...] Program received signal SIGSEGV, Segmentation fault. 0xb7ce06f9 in free () from /lib/tls/i686/cmov/libc.so.6 (gdb) bt #0 0xb7ce06f9 in free () from /lib/tls/i686/cmov/libc.so.6 #1 0xb7cdcf43 in _IO_free_backup_area () from /lib/tls/i686/cmov/libc.so.6 #2 0xb7cdafb2 in _IO_file_overflow () from /lib/tls/i686/cmov/libc.so.6 #3 0xb7cda51b in _IO_file_xsputn () from /lib/tls/i686/cmov/libc.so.6 #4 0xb7cb675f in vfprintf () from /lib/tls/i686/cmov/libc.so.6 #5 0xb7cbf2e2 in fprintf () from /lib/tls/i686/cmov/libc.so.6 #6 0x083a634e in vect_print_dump_info (vl=REPORT_DETAILS) at This ICE is different than the one you reported first: this fails in the debug dumps function. Could you report the backtrace using the following flags: gfortran -O3 -ftree-vectorize -ftree-parallelize-loops=2 -c ma57.f Thank you, Sebastian
[Bug middle-end/37951] -ftree-parallelize-loops=2 fails for MA57
--- Comment #6 from sebpop at gmail dot com 2008-11-26 17:42 --- Subject: Re: -ftree-parallelize-loops=2 fails for MA57 gfortran -O3 -fdump-tree-vect-details -ftree-vectorize -ftree-parallelize-loops=2 -c ma57.f ma57.f: In function 'ma57sd': ma57.f:1538: internal compiler error: Segmentation fault [...] Program received signal SIGSEGV, Segmentation fault. 0xb7ce06f9 in free () from /lib/tls/i686/cmov/libc.so.6 (gdb) bt #0 0xb7ce06f9 in free () from /lib/tls/i686/cmov/libc.so.6 #1 0xb7cdcf43 in _IO_free_backup_area () from /lib/tls/i686/cmov/libc.so.6 #2 0xb7cdafb2 in _IO_file_overflow () from /lib/tls/i686/cmov/libc.so.6 #3 0xb7cda51b in _IO_file_xsputn () from /lib/tls/i686/cmov/libc.so.6 #4 0xb7cb675f in vfprintf () from /lib/tls/i686/cmov/libc.so.6 #5 0xb7cbf2e2 in fprintf () from /lib/tls/i686/cmov/libc.so.6 #6 0x083a634e in vect_print_dump_info (vl=REPORT_DETAILS) at This ICE is different than the one you reported first: this fails in the debug dumps function. Could you report the backtrace using the following flags: gfortran -O3 -ftree-vectorize -ftree-parallelize-loops=2 -c ma57.f Thank you, Sebastian -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37951
[Bug middle-end/37951] -ftree-parallelize-loops=2 fails for MA57
--- Comment #5 from dennis dot wassel at googlemail dot com 2008-11-25 11:26 --- gfortran also produces ICEs in this context: gfortran -O1 -fdump-tree-vect-details -ftree-vectorize -ftree-parallelize-loops=2 -c ma57.f ma57.f: In function 'ma57id': ma57.f:131: internal compiler error: Segmentation fault gfortran -O3 -fdump-tree-vect-details -ftree-vectorize -ftree-parallelize-loops=2 -c ma57.f ma57.f: In function 'ma57sd': ma57.f:1538: internal compiler error: Segmentation fault Throwing this into the debugger gives Starting program: /localdata/libexec/gcc/i686-pc-linux-gnu/4.3.2/f951 ma57.f -ffixed-form -quiet -dumpbase ma57.f -march=athlon64 -auxbase ma57 -O1 -fdump-tree-vect-details -ftree-vectorize -ftree-parallelize-loops=2 -fintrinsic-modules-path /localdata/bin/../lib/gcc/i686-pc-linux-gnu/4.3.2/finclude -o /tmp/ccWSWloU.s Failed to read a valid object file image from memory. Program received signal SIGSEGV, Segmentation fault. 0xb7ce06f9 in free () from /lib/tls/i686/cmov/libc.so.6 (gdb) bt #0 0xb7ce06f9 in free () from /lib/tls/i686/cmov/libc.so.6 #1 0xb7cdcf43 in _IO_free_backup_area () from /lib/tls/i686/cmov/libc.so.6 #2 0xb7cdafb2 in _IO_file_overflow () from /lib/tls/i686/cmov/libc.so.6 #3 0xb7cda51b in _IO_file_xsputn () from /lib/tls/i686/cmov/libc.so.6 #4 0xb7cb675f in vfprintf () from /lib/tls/i686/cmov/libc.so.6 #5 0xb7cbf2e2 in fprintf () from /lib/tls/i686/cmov/libc.so.6 #6 0x083a634e in vect_print_dump_info (vl=REPORT_DETAILS) at /localdata/install/gcc/gcc-4.3.2/gcc/tree-vectorizer.c:1503 #7 0x0839549a in vect_analyze_loop_form (loop=0xb796c370) at /localdata/install/gcc/gcc-4.3.2/gcc/tree-vect-analyze.c:4028 #8 0x0830475d in parallelize_loops () at /localdata/install/gcc/gcc-4.3.2/gcc/tree-parloops.c:280 #9 0x08355be5 in tree_parallelize_loops () at /localdata/install/gcc/gcc-4.3.2/gcc/tree-ssa-loop.c:486 #10 0x082466ea in execute_one_pass (pass=0x875c440) at /localdata/install/gcc/gcc-4.3.2/gcc/passes.c:1122 #11 0x082469ef in execute_pass_list (pass=0x875c440) at /localdata/install/gcc/gcc-4.3.2/gcc/passes.c:1175 #12 0x08246a10 in execute_pass_list (pass=0x875c100) at /localdata/install/gcc/gcc-4.3.2/gcc/passes.c:1176 #13 0x08246a10 in execute_pass_list (pass=0x875b900) at /localdata/install/gcc/gcc-4.3.2/gcc/passes.c:1176 #14 0x082fe85a in tree_rest_of_compilation (fndecl=0xb7bda380) at /localdata/install/gcc/gcc-4.3.2/gcc/tree-optimize.c:404 #15 0x084081fd in cgraph_expand_function (node=0xb7b87300) at /localdata/install/gcc/gcc-4.3.2/gcc/cgraphunit.c:1157 #16 0x08408cc5 in cgraph_optimize () at /localdata/install/gcc/gcc-4.3.2/gcc/cgraphunit.c:1220 #17 0x080e7c95 in gfc_be_parse_file (set_yydebug=0) at /localdata/install/gcc/gcc-4.3.2/gcc/fortran/f95-lang.c:264 #18 0x082ca6f8 in toplev_main (argc=17, argv=0xbfe09354) at /localdata/install/gcc/gcc-4.3.2/gcc/toplev.c:1042 #19 0x08127aff in main (argc=Cannot access memory at address 0xb72d8ff8 ) at /localdata/install/gcc/gcc-4.3.2/gcc/main.c:35 If I remove -march=athlon64 flag, f951 just hangs/waits without causing any CPU load. Trying to backtrace what it is doing does not give anything meaningful (at least to me): Starting program: /localdata/libexec/gcc/i686-pc-linux-gnu/4.3.2/f951 ma57.f -ffixed-form -quiet -dumpbase ma57.f -auxbase ma57 -O1 -fdump-tree-vect-details -ftree-vectorize -ftree-parallelize-loops=2 -fintrinsic-modules-path /localdata/bin/../lib/gcc/i686-pc-linux-gnu/4.3.2/finclude -o /tmp/ccWSWloU.s Failed to read a valid object file image from memory. Program received signal SIGINT, Interrupt. 0xb7f34410 in ?? () (gdb) bt #0 0xb7f34410 in ?? () #1 0xbfd446e8 in ?? () #2 0x0002 in ?? () #3 0x in ?? () Hope this helps! -- dennis dot wassel at googlemail dot com changed: What|Removed |Added Keywords||ice-on-valid-code http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37951
[Bug middle-end/37951] -ftree-parallelize-loops=2 fails for MA57
--- Comment #1 from rguenth at gcc dot gnu dot org 2008-10-29 14:38 --- Waiting for a testcase. May be related to PR37485. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |WAITING http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37951
[Bug middle-end/37951] -ftree-parallelize-loops=2 fails for MA57
--- Comment #2 from dennis dot wassel at googlemail dot com 2008-10-29 15:27 --- (In reply to comment #1) Waiting for a testcase. May be related to PR37485. Much as I would like to help, but I will not be able to distill a testcase out of ma57 due to license and time constraints. Sorry! -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37951
[Bug middle-end/37951] -ftree-parallelize-loops=2 fails for MA57
--- Comment #3 from pinskia at gcc dot gnu dot org 2008-10-29 22:42 --- (In reply to comment #1) May be related to PR37485. I highly doubt it is related to that PR as this is reported against 4.3.2 and graphite was not in 4.3.x. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37951
[Bug middle-end/37951] -ftree-parallelize-loops=2 fails for MA57
--- Comment #4 from rguenth at gcc dot gnu dot org 2008-10-29 22:46 --- The cfg manipulation code on the branch has the same bug as on the trunk. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37951