[Info-vax] GCC for VMS, was: Re: fortran compiler roadmap?
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Thu Apr 18 10:09:32 EDT 2013
On 2013-04-18 09:53:01 +0000, John Wallace said:
> A 'Canadian cross' compiler isn't a commonly used concept, but
> basically you have a 'build the compiler' environment, and a host
> environment, and a target environment. All are different. E.g. you
> build the compiler on Linux (eg x86 Linux), so that it can be used to
> compile (link, etc) on a VMS host, and the generated code can run on
> 68k.
That's not far off what was done during the earliest stages of the
port. The compilers were invoked on Alpha and generated Itanium code
that was then processed through a cross-linker. What a pain in the
rump that was. The builds became very complex, both for the DCL as
well as for references to the architectures within the source code —
the usual sorts of conditional code architectural references made for
gnarly code when you were cross-compiling. Yes this compile is
occuring on Alpha, but this source code has to build with the Itanium
code-path, etc.
> IA64 is not a widely used target. Compiler optimisations for IA64 with
> lots of registers and little support for parallelisation at runtime
> may be counter-intuitive to compiler code which often expects
> relatively few registers and decent support for parallelism in the
> hardware, such as x86. Ideally this kind of stuff would be layered and
> modularised and configurable in target-specific ways. But is it, in
> reality?
Many of the optimizations used on and useful on the non-VLIW
instruction sets are different from those for Itanium. That's been a
long-standing problem for Itanium, (There's a posting around with
somewhere with a discussion of the differences in optimization
algorithms and strategies between VLIW and "everybody else", written by
Chris Lattner, IIRC.)
> If Anton's interest is existing Fortran applications for HPC, I'd
> suggest he might want to be looking to see if any other departments in
> the University might be able to make a contribution to getting the
> applications updated to more applicable language standards, which may
> imply more widely supported hardware. And the simplest end point
> probably wouldn't be Fortran on VMS on IA64, unless the existing code
> has lots of VMS-specific dependencies.
Yep. The usual path is to port the easier code, to incrementally
migrate some stuff, and to incrementally "sunset" the rest of the
harder-to-port code.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list