Codemist Compilers / Norcroft
The main business of Codemist Ltd is in the creation of high quality
compilers for specific processors. This work is usually undertaken
on behalf of chip manufacturers rather than for the end user. We
specialise in optimising ANSI C compilers, and especially innovative
processors, using register allocation by colouring, global common
subexpression elimination (CSE), and instruction scheduling. We have
created C compilers for a range of computers, from mainframes to
embedded special purpose chips.
We are not at liberty to list all the compilers we have created for
our customers, but the following partial list will give an idea of the
range of our output. It includes 16 bit and 32 bit processors as well
as some unusual architectures.
- Acorn Computers ARM C Compiler. This is the original ANSI C
compiler known as Norcroft C.
- INMOS Transputer C Compiler written in conjunction with
Perihelion Software Ltd.
- Hitachi for their mainframe (IBM compatible)
- ICL KCM the Knowledge Crunching Machine
- Matsushita Adenart experimental graphics processor
- AIH324
- Cambridge Consultants XAP low power processor; also the ECOG-1.
- NEC 860
We have also created C compilers for internal and external use for the
following well known processors
- AMD 29000
- DEC Alpha
- Gould NP1
- IBM 370
- Intel Pentium for Linux
- Intel i860 with Perihelion Software Ltd
- Intergraph Clipper
- MIPS for various machines
- Motorola 68K with Perihelion Software Ltd
- Motorola 88K
- National Semiconductor 320xx
- SPARC for SUN and ICL machines
Further Information
In addition to the compiler Codemist Ltd have a complete ANSI C
library written in C, which is easily ported to an operating
environment.
As many small embedded processors do not have hardware floating point,
Codemist provide a C Compiler option and a C-coded IEEE floating point
arithmetic library so that machines with only integer operations can
adhere to the ANSI standard with no additional work for the client.
Thus lack of additional silicon is not a barrier to a
full ANSI C implementation.
The general design of the Norcroft C compiler is described in a small
number of internal reports, available to potential customers from
Codemist.
- The internal structure of the Norcroft C compiler 1986
- Implementation decisions for `C' on non-standard
architectures 1992
The document considers the effects of possible
implementation choices for `C' data types and operations on
run-time efficiency and (Unix-)user-friendliness, particularly
for architectures in which these do not coincide. It is
specifically oriented at Codemist's `Norcroft' C compiler but
applies to any implementation of C.
- The Norcroft compiler suite; technical overview and
details 1993
The Norcroft compiler suite is a portable (across host and
target systems) set of compilers for a variety of languages. It
consists of a set of interchangeable (language dependent)
front-ends which interface to a common intermediate code
generator and optimiser (the `middle'-end) and a set of
back-ends for most common RISC and CISC architectures. The
interface to the back-end is clean and narrow which means that
implementing the compilers for a new architecture is relatively
fast. Re-hosting them is also easy - the compilers have been
written to be insensitive to byte ordering and floating point
representation of the host on which they are run, so cross
compiling from one machine to another is possible, either as a
step in porting the code to a new target or in support of
embedded processors.
Information for Potential Customers
If you think that we may be able to assist in your development of a
software base for a processor, please contact Codemist Ltd at either
the Bath office, via e-mail
or to one of the Cambridge offices. We are happy to discuss your
requirements and give an honest appraisal of whether we can assist.
E-mail: compilers@codemist.co.uk
Codemist Ltd
"Alta", Horsecombe Vale
Combe Down
Bath BA2 5QR
UK
Tel: +44-1225-837430
FAX: +44-1225-808173
VoIP: sip:100@west.codemist.co.uk
or sip:codemist@sipgate.co.uk
Last modified: Sun Aug 22 18:56:41 BST 2010