Abstract

Many retargetable production compilers use some form on intermediate code for applying global optimizations. The compilers of the Amsterdam Compiler Kit use a low-level, language- and machine-independent, intermediate code called EM. The choice of intermediate code has impact on both the effectiveness of a global optimizer and on the ease of achieving a machine-independent implementation. These effects have been studied by implementing several global optimization techniques for EM. Comparisons are made with optimizing codes of a higher-level (e.g. trees) or of a lower level (e.g. assembly code). It is also shown what kind of knowledge about the source language and target machine a global optimizer should have, to be effective.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call