Re: Query about C compilers on IBM 370s.

Alan Mycroft <am@computer-lab.cambridge.ac.uk>

          From comp.compilers

Related articles
Query about C compilers on IBM 370s. decvax!decwrl!ames!cullsj!gupta (1988-04-08)
Re: Query about C compilers on IBM 370s. am@computer-lab.cambridge.ac.uk (Alan Mycroft) (1988-04-15)
| List of all articles for this month |
From: Alan Mycroft <am@computer-lab.cambridge.ac.uk>
Newsgroups: comp.compilers,comp.lang.c
In-Reply-To: <941@ima.ISC.COM>
Organization: U of Cambridge Comp Lab, UK

In article <941@ima.ISC.COM> you write:
>I have heard some not too great comments about the commercially
>available C compilers on IBM 370s. I would like to find out
>the truth regarding this matter. So, if anyone has any experience,
>comments, suggestions, I would like to hear them. Also, any
>recommendations for good C compilers. Thanks.
>Yogesh Gupta


We [a couple of academics wearing startup-company hats] wrote a
re-targetable, optimising ANSI (draft) C compiler, oriented at
the many new risc machines (e.g. register colouring etc).
Somewhat as a joke, but also as a donation to the university, we
re-targetted it to our ibm 3084 running MVS/XA (however, all the library
except a public domain I/O library and 150 lines of assembler is written in
C). The compiler produces either or both ibm object modules or
assemblable listing.


Much to our amusement we got dhrystone figures over 23K with a lame
procedure calling standard, and can compile the 0.6mb of source in
less than 1 minute cpu.


Let me know if you are further interested, there follows the
usual sort of advert we put out on getting requests:


\documentstyle[a4,12pt]{article}
\begin{verbatim}
NorCroft C
----------


NorCroft is a trading name of a startup company (Codemist Ltd)
formed by three academics:
    Prof J.P. Fitch, Dept of Computer Science, Bath University, UK
    Dr. A. Mycroft, Computer Lab, Cambridge University, UK
        Email: am@cl.cam.ac.uk,
        phone +44 223 334621 (office), +44 223 871088 (home 1800-2200 GMT)
    Dr. A.C. Norman, Computer Lab, Cambridge University, UK
        Email: acn1@phx.cam.ac.uk,
        phone +44 223 338550 (office), +44 223 247367 (home 1800-2200 GMT)
    FAX: +44 223 334748 (marked attention Dr. Mycroft/Norman Computer Lab).


The NorCroft C compiler is a significantly optimising re-targetable
C compiler to the ANSI draft standard. It includes many 'lint'-like
features and warnings for common errors (e.g. printf format/argument
checks, '=' and '==' confused, /* inside comment, etc.).


The optimiser includes register allocation by colouring, loop invariant
optimisation and tail-recursion removal. Rapid re-targetability is
encouraged by the use of a machine (parameterised, but otherwise)
independent code which easily translates into many register-oriented
target architectures including many RISC machines. Ports to CISC
machines (e.g. NS32000) use peephole optimisation to map a load-store
architecture onto all of the CISC addressing modes while preserving
the ability to freely allocate temporaries and variables into
machine registers.


Standard NorCroft compilers can produce both assembler- and object-form
output. The compiler itself is written in C and includes many self-checks.


NorCroft has holds and/or has licensed the machine independent
parts to various organisations for back-ends for
    Acorn ARM, Inmos Transputer, IBM 370, AMD 29000, Clipper,
    Motorola 68000-series, National Semiconductor 32000-series
    and various proprietory CPU's.


A port (re-target) generally takes several weeks to the compiler being
able to bootstrap itself (of course exploiting every machine idiom takes
longer). In addition a small minority of our clients have been involved
in producing stack-oriented machine code directly from the optimised
parse tree instead of using the general register-oriented optimiser.


Various rights are for sale, including source code.
\end{verbatim}
\end{document}
[From Alan Mycroft <am@computer-lab.cambridge.ac.uk>]
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.