Using GCC as an Efficient, Portable Back-End

Abstract

In order to generate efficient object code for modern microprocessors, aggressive compilers customize their code generators (the back-end of the compiler) for each target processor. Customized back-ends, however, are major undertakings that most experimental compilers writers cannot afford. We describe a method to easily generate efficient object code for virtually any UNIX platform. The method relies on Gnu's GCC compiler and its extensions to the C language. These techniques have been applied to pHluid[1], a pH/Id compiler. The techniques, their application to pHluid and some performance results are reported in this paper. 1 Introduction Making the best use of modern microprocessors requires very sophisticated instruction scheduling due to their multiple instruction issuing capabilities and longer pipelines. To generate the best possible code, aggressive compilers customize back-ends for each supported architecture. Such back-end customization requires substantial time as well as s..

    Similar works

    Full text

    thumbnail-image

    Available Versions