For Programmers: Free Programming Magazines  


Home > Archive > Compilers > March 2004 > Best language for intermediate representation









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Best language for intermediate representation
Stephan Wienczny

2004-03-27, 12:28 am

Hallo,

what is the best intermediate language currently freely available?

Cu
Stephan
Steven Bosscher

2004-03-27, 12:28 am

Stephan Wienczny <wienczny@web.de> wrote
> what is the best intermediate language currently freely available?


"The best" depends on what you want to do with it...

One very well documented IR is WHIRL, which is the IR of
the Open64 compiler, see open64.sourceforge.net. One of
its many nice features is that it really is a family of
representations, which allows you to gradually lower from
a very high level representation to an almost-machine-code
representation.

Gr.
Steven
Basile Starynkevitch [news]

2004-03-27, 12:28 am

On 12-02-2004, Stephan Wienczny <wienczny@web.de> wrote_:

> what is the best intermediate language currently freely available?


I don't know. However, you should define what do you mean by best:

do you want an IL ported to many architectures?

do you want an IL which generates quickly (poor) machine code, or
can you afford spending more (CPU... & system) resources on
generating better code?


You might consider (among other solutions)

generating gcc code (ie using GCC as your IL) - several GCC
extensions are very useful in generated code.

generating C code which is quickly compiled with TinyCC - see
www.tinycc.org (tcc compiles about 5 times faster than gcc, but
produces code running 30% slower on x86)

generating C-- code - see www.cminusminus.org

using GNU lightning for dynamic code generation. See
http://www.gnu.org/directory/libs/gnulightning.html


--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net
aliases: basile<at>tunes<dot>org = bstarynk<at>nerim<dot>net
8, rue de la Faïencerie, 92340 Bourg La Reine, France
Jason Lee Eckhardt

2004-03-27, 12:28 am

Steven Bosscher <s.bosscher@student.tudelft.nl> wrote:
>Stephan Wienczny <wienczny@web.de> wrote
>
>"The best" depends on what you want to do with it...
>
>One very well documented IR is WHIRL, which is the IR of
>the Open64 compiler, see open64.sourceforge.net. One of
>its many nice features is that it really is a family of
>representations, which allows you to gradually lower from
>a very high level representation to an almost-machine-code
>representation.
>
>Gr.
>Steven


In addition to what Steven suggested, you might also consider
LLVM (http://llvm.cs.uiuc.edu). This is also a very well
documented and powerful IR. Moreover, unlike Open64, the
system built on top of it (compiler, dynamic optimizer, VM, etc)
is also well documented with a simple, hygienic design.

jason.
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com