low level optimization

Jim Giles jlg at cochiti.lanl.gov
Fri Apr 19 02:45:39 AEST 1991


In article <1991Apr17.225944.15261 at zoo.toronto.edu>, henry at zoo.toronto.edu (Henry Spencer) writes:
|> [...]                                           You do interprocedural
|> analysis across all source files supplied to a single invocation of the
|> compiler,  [...]

And, if you subsequently change _some_ of those source files?  What 
then?  Under this model, you'd have to recompile _all_ the others 
that were originally compiled together.  This violates one of the 
principle reasons to have separate compilation to begin with - the 
elimination of the needto recompile most of your code every time 
you change a piece of it.

Note: I'm not arguing that what you suggest is a bad idea.  I think
personally that what you've said here is a good way to improve
performance.  I'm just pointing out that it _does_ violate the
standards of both Fortran and C which are defined to be separately
compiled.  There are a lot of _non-standard_ ways to improve
performance.  But, it is always a mistake to allow someone to 
claim that any of these are really standard after all.`

Finally, I don't have access to any production quality compilers
which do interprocedural analysis for either Fortran or C.  Fortran
doesn't need the feature as much as C does.

J. Giles



More information about the Comp.lang.c mailing list