The SafeTSA representation is a hybrid representation that combines tree-oriented control structures with blocks of instructions in static single assignment form, which is commonly used as an intermediate representation of the back end of optimizing compilers
1993], which is roughly comparable to today's standard optimizing compilers
. (As a point of reference, dynamic regions in the applications executed on average 8% more slowly when statically compiled with Multiflow than with gcc -02; kernels were 7% faster.) Because our version of Multiflow has an incomplete implementation of the Compaq Alpha calling convention, most of the nondynamically compiled procedures in the applications were compiled with Compaq's Alpha C compiler or gcc.
1999] includes an adaptive dynamic optimizing compiler
that generates optimized machine code as the program is executed.
For code generation, the optimizing compiler
from Green Hills allows generation of FastMATH assembly code from standard C/C++ programs.
Second, the primary benefit of having safe references is not in removing the overhead of doing the tests, but rather in enabling optimizing compiler
Most important of these is that an optimizing compiler
can improve in-line code much more than it can code for a subroutine call.
An optimizing compiler
for a high-level language such as ML may make as many as 20 passes over a single program, performing sophisticated analyses and transformations such as CPS conversion, closure conversion, unboxing, subsumption elimination, or region inference.
The compiler identifies these coding practices during its process of flow analysis, which is similar to the analysis done by a standard high-level language optimizing compiler
. It builds a flow graph for each routine and tracks stack depth, register use, condition code use, and loop depth through all paths in routine flow.
We extend work in this area by describing a new optimizing compiler
for the CLP language CLP(R).
The Design of an Optimizing Compiler
. American Elsevier, New York, 1975.
Long before we had a firm hardware design, we had an experimental optimizing compiler
to evaluate variants on the design.