Related articles |
---|
C as IL on parallel platforms ssp@csl36h.csl.ncsu.edu (1992-07-29) |
Newsgroups: | comp.compilers |
From: | ssp@csl36h.csl.ncsu.edu (Santosh Pande) |
Organization: | Compilers Central |
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
limitations,
(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
translator properly,
(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
parallel platforms!!
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
other platforms.
--
Santosh Pande,
Box. 7911,
Computer Systems Laboratory,
Dept. Of Electrical & Computer Engg.
North Carolina State University, Raleigh,
NC-27695-7911
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.