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.
|
|
|
|
|