|C as IL on parallel platforms email@example.com (1992-07-29)|
|From:||firstname.lastname@example.org (Santosh Pande)|
|Date:||Wed, 29 Jul 1992 05:12:45 GMT|
|Keywords:||C, translator, summary|
Thanks to everyone who replied to my posting about the 'Pros and cons of
higher level intermediate languages'. From the responses, it appears that:
(1) C is the most popular IL in use,
(2) Garbage collection / exception handling features in original
language do not get efficiently mapped to C due to its inherent
(3) As far as other issues are concerned, one could generate an
efficient C code (free of aliases etc) by styling the output of the
(4) One might sometimes benefit due to the fact that C compilers
are well-tuned to the target architecture.
Interestingly I didn't receive any response on C as IL for
If aliases prevent interprocedural and other optimizations for
RISC/ sequential machines; unless one is EXTRA careful, even the best of
the compilers can prohibit parallelization/vectorization in the presence
of pointers due to a hard dependence analysis at compile time!!
Fortunately with some C compilers, one can resort to mixing
compiler directives (like nodepchk, noassoc, vector/concur etc. on
Alliant, iPSC (icc)) that allow the translator to force certain
optimizations in the presence of typical C referencing like pointers.
My experience with C as IL for SISAL on iPSC/860 is quite
satisfactory mainly due to fact that icc allows directives and does not
give you a packaged black-box!! I would like to know from others about
Computer Systems Laboratory,
Dept. Of Electrical & Computer Engg.
North Carolina State University, Raleigh,
Return to the
Search the comp.compilers archives again.