Related articles |
---|
[16 earlier articles] |
Re: compiler bugs walter@bytecraft.com (Walter Banks) (2009-04-30) |
Re: compiler bugs cfc@shell01.TheWorld.com (Chris F Clark) (2009-04-30) |
Re: compiler bugs anton@mips.complang.tuwien.ac.at (2009-05-01) |
Re: compiler bugs gene.ressler@gmail.com (Gene) (2009-05-01) |
Re: compiler bugs cdg@nullstone.com (Christopher Glaeser) (2009-05-04) |
Re: compiler bugs anton@mips.complang.tuwien.ac.at (2009-05-05) |
Re: compiler bugs gah@ugcs.caltech.edu (glen herrmannsfeldt) (2009-05-05) |
Re: compiler bugs gah@ugcs.caltech.edu (glen herrmannsfeldt) (2009-05-05) |
Re: compiler bugs cdg@nullstone.com (Christopher Glaeser) (2009-05-06) |
Re: compiler bugs anton@mips.complang.tuwien.ac.at (2009-05-06) |
Re: compiler bugs cfc@shell01.TheWorld.com (Chris F Clark) (2009-05-07) |
Re: compiler bugs barry.j.kelly@gmail.com (Barry Kelly) (2009-05-10) |
Re: compiler bugs anton@mips.complang.tuwien.ac.at (2009-05-10) |
From: | glen herrmannsfeldt <gah@ugcs.caltech.edu> |
Newsgroups: | comp.compilers |
Date: | Tue, 5 May 2009 17:53:59 +0000 (UTC) |
Organization: | California Institute of Technology, Pasadena |
References: | 09-04-072 09-04-086 09-05-010 09-05-022 |
Keywords: | optimize, Fortran, history, comment |
Posted-Date: | 05 May 2009 14:21:04 EDT |
(John wrote)
> [I read an interesting article about the IBM Fortran X compiler, an improved
> version of the classic Fortran H compiler. The guy who did it made sure that
> the new optimized results were always bit identical to what the old compiler
> produced. But I don't know whether he extended that to programs that weren't
> valid Fortran, e.g., with aliased arrays. -John]
I don't know about Fortran X, but the successor to the original H
was H extended, sometimes called HX. As well as I know it,
H was free but HX was a "program product" (licensed and charged for).
One extension was the REAL*16 and COMPLEX*32, extended precision
floating point data types and corresponding library functions.
One example from the "IBM Fortran IV H Extended Compiler
Programmers Guide": SC28-6852-1_OS_FORTRAN_H_Pgmr_Jun72.pdf
DO 11 I=1,10
DO 12 J=1,10
9 IF(B(I).LT.0) GO TO 11
12 C(J)=SQRT(B(I))
11 CONTINUE
that the compiler (presumably both H and HX) moves the SQRT
out of the J loop, but not the IF statement. That is legal
Fortran that fails, and that IBM knows fails. (As they suggest,
the programmer should move the IF out of the loop, too.)
-- glen
[Yup, HX, same program. I gather HX has the same broken optimizations
that H did. In its defense, Fortran H did have to invent a lot of the
analysis techniques it used, and run on a 128K (for the young folks, yes,
that's a K) machine. -John]
Return to the
comp.compilers page.
Search the
comp.compilers archives again.