This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/17704] New: Inifinite recursion in tree-scalar-evolution with -Os
- From: "tobi at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 27 Sep 2004 20:40:45 -0000
- Subject: [Bug tree-optimization/17704] New: Inifinite recursion in tree-scalar-evolution with -Os
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
(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