C as IL on parallel platforms

ssp@csl36h.csl.ncsu.edu (Santosh Pande)
Wed, 29 Jul 1992 05:12:45 GMT

          From comp.compilers

Related articles
C as IL on parallel platforms ssp@csl36h.csl.ncsu.edu (1992-07-29)
| List of all articles for this month |

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
(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,

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.