C code optimizer (in Haskell)

From:
"andrew cooke" <andrew@...>

Date:
Sun, 14 Dec 2003 18:14:56 -0300 (CLST)

From Alastair Reid on the Haskell list:
The University of Utah's Flux Research Group announces the first
release of CMI, our cross-module inliner for C. CMI is an optimizing
frontend for gcc which allows gcc to inline across module (i.e.,
function) boundaries without requiring you to put inline functions in
header files or even mark inline functions for inlining. Get CMI's open
source code and docs at:
http://www.cs.utah.edu/flux/knit/cmi.html
CMI:
o makes your code go faster;
o is a preprocessor for gcc;
o supports most gcc extensions and is able to deal with such notoriosly
tricky code as the glibc header files;
o works by merging multiple C files into one file, topologically sorting
the definitions so that definitions come before uses, and marks
functions as inline;
o controls code-bloat by deleting dead code and inlining up until a
user-specified budget is reached;
o can use user-specified heuristics to select which functions to inline
(we include a tool which uses gprof output to choose inlinings to
illustrate this);
CMI is part of an ongoing R&D effort. We seek feedback, external
users, and collaborators whose experiences and insight will help
evolve CMI.
CMI is a small part of Knit, our C Components project. To join the
knit-users or knit-announce mailing lists, send email to
majordomo@... with, e.g., "subscribe knit-users" in the body.
Thanks go to DARPA for their support, and thanks go to the entire Knit
crew, but especially Alastair Reid, for the fine research,
development, and hard work that led to this release.
--
personal web site: http://www.acooke.org
personal mail list: http://www.acooke.org/cute
_______________________________________________
compute mailing list
compute@...
https://200.83.177.66/cgi-bin/mailman/listinfo/compute