This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran 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]

[ICE] BLAS


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 

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