This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
[ICE] BLAS
- From: François-Xavier Coudert <Francois-Xavier dot Coudert at lcp dot u-psud dot fr>
- To: gfortran <fortran at gcc dot gnu dot org>
- Date: Fri, 15 Oct 2004 11:12:55 +0200
- Subject: [ICE] BLAS
- Organization: Laboratoire de Chimie Physique
Hello,
I'm trying all BLAS tests with gfortran and there are a few problems right
now with the blas2test.f file (http://www.netlib.org/blas/blas2test.f). It
compiles fine with non-agressive optimzation (-On, n < 3). However, with -O3
I get the following (in addition to all kinds of warnings about OLD fortran
code):
./blas2test.f: In function 'schck1':
./blas2test.f:304: error: Basic block 325 should be marked irreducible.
./blas2test.f:304: error: Edge from 325 to 212 should be marked irreducible.
./blas2test.f:304: internal compiler error: in verify_loop_structure, at
/cfgloop.c:1491
The ICE message suggests to me that it's not really a problem of the
optimization part of gcc, but that optimization just reveals an issue
located at the front-end... but as I don't know much about compiler internal
organization, I may be wrong.
I trimmed down the code to a minimal case (see attachment). It looks ugly
and sure doesn't do anything useful, but here it is.
Thanks for you help,
FX
--
You can do more with a kind word and a gun than with just a kind word.
(Al Capone)
SUBROUTINE SCHCK1(I)
LOGICAL LSE
INTEGER I,IGO
IF (I.LE.0) THEN
WRITE (*,*) I
ELSE
ASSIGN 130 TO IGO
130 CONTINUE
DO 140 I = 1,10
LSE = .TRUE.
140 CONTINUE
END IF
GO TO IGO
END