[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