This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/17704] New: Inifinite recursion in tree-scalar-evolution with -Os


(may be related to PR 17552)
following reduced testcase from LAPACK shows an infinite recursion in
tree-scalar-evolution:
      GO TO 50
   20 CONTINUE
      CALL SSWAP( L, A, 1, A, 1 )
      GO TO ( 40, 80 )IEXC
   40 CONTINUE
   50 CONTINUE
      DO 70 J = L, 1, -1
         DO 60 I = 1, L
   60    CONTINUE
         GO TO 20
   70 CONTINUE
   80 CONTINUE
      K = K + 1
            IF( A.NE.ZERO )
     $         GO TO 110
  100    CONTINUE
         GO TO 20
  110 CONTINUE
         DO 150 J = K, L
  150    CONTINUE
      RETURN
      END

[tobi@marktplatz tests]$ gfortran -Os sgebal.f
gfortran: Internal error: Segmentation fault (program f951)
Please submit a full bug report.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

The segfault depends on the exact command line options passed to f951, taking
those from gfortran -v -Os sgebal.f gives:
[tobi@marktplatz tests]$ gdb /home/tobi/usr/libexec/gcc/i686-pc-linux-gnu/4.0.0/f951
GNU gdb Red Hat Linux (6.0post-0.20040223.19rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db
library "/lib/tls/libthread_db.so.1".

(gdb) run sgebal.f -ffixed-form -quiet -dumpbase sgebal.f -mtune=pentiumpro
-auxbase sgebal -Os -version -o /tmp/cczMhYu9.s
Starting program: /home/tobi/usr/libexec/gcc/i686-pc-linux-gnu/4.0.0/f951
sgebal.f -ffixed-form -quiet -dumpbase sgebal.f -mtune=pentiumpro -auxbase
sgebal -Os -version -o /tmp/cczMhYu9.s
Error while mapping shared library sections:
: Success.
Error while reading shared library symbols:
: No such file or directory.
Error while reading shared library symbols:
: No such file or directory.
Error while reading shared library symbols:
: No such file or directory.
GNU F95 version 4.0.0 20040923 (experimental) (i686-pc-linux-gnu)
        compiled by GNU C version 4.0.0 20040923 (experimental).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096

Program received signal SIGSEGV, Segmentation fault.
0x08415322 in follow_ssa_edge (loop=0x980cdb8, def=0xf6ee8700,
    halting_phi=0xf6ee8700, evolution_of_loop=0xfe35d088)
    at ../../gcc-clean/gcc/tree-scalar-evolution.c:1479
1479          if (!loop_phi_node_p (def))
(gdb) bt
#0  0x08415322 in follow_ssa_edge (loop=0x980cdb8, def=0xf6ee8700,
    halting_phi=0xf6ee8700, evolution_of_loop=0xfe35d088)
    at ../../gcc-clean/gcc/tree-scalar-evolution.c:1479
#1  0x08415390 in follow_ssa_edge (loop=0x980cdb8, def=0xf6ee8740,
    halting_phi=0xf6ee8700, evolution_of_loop=0xfe35d188)
    at ../../gcc-clean/gcc/tree-scalar-evolution.c:1365
#2  0x08415d01 in follow_ssa_edge_in_rhs (loop=0x980cdb8, rhs=Variable "rhs" is
not available.
)
    at ../../gcc-clean/gcc/tree-scalar-evolution.c:1148
#3  0x08415301 in follow_ssa_edge (loop=0x980cdb8, def=0xf6edf510,
    halting_phi=0xf6ee8700, evolution_of_loop=0xfe35d188)
    at ../../gcc-clean/gcc/tree-scalar-evolution.c:1509
#4  0x08415390 in follow_ssa_edge (loop=0x980cdb8, def=0xf6ee86c0,
    halting_phi=0xf6ee8700, evolution_of_loop=0xfe35d1e8)
    at ../../gcc-clean/gcc/tree-scalar-evolution.c:1365
#5  0x084155da in follow_ssa_edge (loop=0x980cdb8, def=0xf6ee8740,
    halting_phi=0xf6ee8700, evolution_of_loop=0xfe35d2e8)
    at ../../gcc-clean/gcc/tree-scalar-evolution.c:1365
#6  0x08415d01 in follow_ssa_edge_in_rhs (loop=0x980cdb8, rhs=Variable "rhs" is
not available.
)
    at ../../gcc-clean/gcc/tree-scalar-evolution.c:1148
#7  0x08415301 in follow_ssa_edge (loop=0x980cdb8, def=0xf6edf510,
    halting_phi=0xf6ee8700, evolution_of_loop=0xfe35d2e8)
    at ../../gcc-clean/gcc/tree-scalar-evolution.c:1509
#8  0x08415390 in follow_ssa_edge (loop=0x980cdb8, def=0xf6ee86c0,
    halting_phi=0xf6ee8700, evolution_of_loop=0xfe35d348)
    at ../../gcc-clean/gcc/tree-scalar-evolution.c:1365
#9  0x084155da in follow_ssa_edge (loop=0x980cdb8, def=0xf6ee8740,
    halting_phi=0xf6ee8700, evolution_of_loop=0xfe35d448)
    at ../../gcc-clean/gcc/tree-scalar-evolution.c:1365
#10 0x08415d01 in follow_ssa_edge_in_rhs (loop=0x980cdb8, rhs=Variable "rhs" is
not available.
)
    at ../../gcc-clean/gcc/tree-scalar-evolution.c:1148
#11 0x08415301 in follow_ssa_edge (loop=0x980cdb8, def=0xf6edf510,
    halting_phi=0xf6ee8700, evolution_of_loop=0xfe35d448)
    at ../../gcc-clean/gcc/tree-scalar-evolution.c:1509
#12 0x08415390 in follow_ssa_edge (loop=0x980cdb8, def=0xf6ee86c0,
    halting_phi=0xf6ee8700, evolution_of_loop=0xfe35d4a8)
    at ../../gcc-clean/gcc/tree-scalar-evolution.c:1365
#13 0x084155da in follow_ssa_edge (loop=0x980cdb8, def=0xf6ee8740,
    halting_phi=0xf6ee8700, evolution_of_loop=0xfe35d5a8)
    at ../../gcc-clean/gcc/tree-scalar-evolution.c:1365
#14 0x08415d01 in follow_ssa_edge_in_rhs (loop=0x980cdb8, rhs=Variable "rhs" is
not available.
)
    at ../../gcc-clean/gcc/tree-scalar-evolution.c:1148
#15 0x08415301 in follow_ssa_edge (loop=0x980cdb8, def=0xf6edf510,
    halting_phi=0xf6ee8700, evolution_of_loop=0xfe35d5a8)
    at ../../gcc-clean/gcc/tree-scalar-evolution.c:1509
#16 0x08415390 in follow_ssa_edge (loop=0x980cdb8, def=0xf6ee86c0,
    halting_phi=0xf6ee8700, evolution_of_loop=0xfe35d608)

etc.

-- 
           Summary: Inifinite recursion in tree-scalar-evolution with -Os
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P2
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tobi at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: i686-pc-linux
GCC target triplet: i686-pc-linux


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]