back |
PROMISE (PROgram MorphIng extenSible Environment) is a machine-independent optimizing environment. PROMISE is intended to be used as a separate optimizing phase of a compiler or as an environment to build custom optimisations. We are also going to provide a decompiling tool that will allow to use any C compiler for generating code, optimised by PROMISE. The idea of building such an environment arose from embedded system development, where the lack of a good optimising compiler is crucial. There are several environments, such as SUIF and VPO that provide similar abilities. In contrast to them PROMISE was originated as an industrial product, not a research project. This means that stability and ease of use and maintenance are especially focused.
Currently the following optimizations are
implemented: Additionaly transformation to SSA form is implemented. PROMISE is written in C++ using templates and is portable. Current version could be built both under Unix (Linux, Solaris) and Windows with either gcc or MS Visual Studio 6.x or 7. As a frontend and backend to PROMISE the lcc compiler is used. We had to patch lcc a little to provide more information to PROMISE. Since there is a number of good optimizing compilers for general-purpose OS and targets (GNU gcc, Intel icc, SUN Forte etc.) we do not consider PROMISE as an optimizer for general-purpose platforms and software. It could be used though in embedded-systems development both 'as is' and as environment for implementation of special-purpose transformations including machine-dependent ones. More in this section:
|
back |