|Survey of intermediate program representations? email@example.com (Domagoj Babic) (2005-09-02)|
|RE: Survey of intermediate program representations? firstname.lastname@example.org (Naveen Sharma, Noida) (2005-09-15)|
|Re: Survey of intermediate program representations? email@example.com (Domagoj Babic) (2005-09-17)|
|Re: Survey of intermediate program representations? firstname.lastname@example.org (Ganny) (2005-09-22)|
|Re: Survey of intermediate program representations? email@example.com (manish.verma) (2005-09-22)|
|Re: Survey of intermediate program representations? DrDiettrich@compuserve.de (Hans-Peter Diettrich) (2005-09-25)|
|Re: Survey of intermediate program representations? DrDiettrich@compuserve.de (Hans-Peter Diettrich) (2005-09-27)|
|From:||"Naveen Sharma, Noida" <firstname.lastname@example.org>|
|Date:||15 Sep 2005 01:55:07 -0400|
> I Am Also Interested In This. It Seems That Different IR are for
> different hardware. the only exception i know is RTL, register
> transfer language for GCC> IR.
RTL representation is machine independent, but actual RTL that GCC
generates for a target is different for each target processor. RTL is
a low level IR as far its classification is concerned.
For the original question, IIRC different approaches to intermediate
representations would be covered in most compiler texts.
Briefly, I think choice depends on the objectives to be achieved.
Typically several forms of IR would be used in a production compiler
because effectiveness of several optimizations depend on kind of IR
chosen. A quick classification is based on the abstraction level -
High-Level, Mid-Level, Low-Level and various shades in between. Again,
some HLRs, might be very close to a language e.g. for a language like
f95 where semantic analysis will almost always need additional passes
after the initial parse.
GCC-4.X, for example, uses GIMPLE (which is a high level IR for SSA
based framework) and later RTL (not the ideal choice, but difficult to
Return to the
Search the comp.compilers archives again.