The Firm optimizer is a software component for use as part of a compiler. It
significantly improves the run-time performance of a compiled program by
performing a variety of code optimizations such as common subexpression
elimination and code motion. The Firm Optimizer is based on modern, well-known
SSA (static single assignment form) optimization techniques.
The Firm Optimizer is especially suited for compilers that need,
beside a good code quality also a high compile time performance.
In order to use the Firm optimizer, a compiler front end and a
compiler back end need to be connected. The compiler front end must
translate the source language (e.g. C, C++, Modula-2, Fortran, Java, Sather ...)
into the intermediate language Firm. The back end, on the other hand,
needs to translate the SSA form of Firm into machine or assembler
code for the target machine, e.g. Pentium™ SPARC™, etc.
A compiler back end can, for example, be created with the BEG
back end generator. BEG can produce code generators
specifically adapted to Firm. Nevertheless it is also possible to use other
techniques for the back end.
Firm has been successfully used both in industry and academia. It
works well with back ends generated with BEG.
Normally Firm is licensed as source code for a flat fee.
Please contact us for pricing.