Source code transformations are a very effective method of parallelizing and improving the efficiency of programs. Unfortunately most compiler systems require implementing separate (sub-)programs for each transformation. This paper describes a different approach. We designed and implemented a fully programmable C code transformation engine. It can be programmed by means of a transformation language. This language was especially designed to be easy to use and flexible enough to express most of the common transformations that can be found in the mainstream compiler systems. In addition, it allows specification of more exotic, but highly desirable, transformations (like for example inter-procedural transformations). The program features a userfriendly graphical user interface, allowing interactive application of transformations. Its possible applications range from coarse-grain parallelism exploitation to optimizers for multimedia instruction sets.
|Title of host publication||Proc. of ETPs99, Amsterdam, March 1999|
|Publication status||Published - 1999|