Contributions to the GNU compiler collection

  • Authors:
  • D. Edelsohn;W. Gellerich;M. Hagog;D. Naishlos;M. Namolaru;E. Pasch;H. Penner;U. Weigand;A. Zaks

  • Affiliations:
  • IBM T.J. Watson Research Center, 1101 Kitchawan Road, Yorktown Heights, New York;IBM Deutschland Entwicklung GmbH, Schoenaicher Strasse 220, 71032 Boeblingen, Germany;IBM Research Division, Haifa Research Laboratory, University Campus, Haifa, Israel 31905;IBM Research Division, Haifa Research Laboratory, University Campus, Haifa, Israel 31905;IBM Research Division, Haifa Research Laboratory, University Campus, Haifa, Israel 31905;IBM Systems and Technology Group, IBM Deutschland Entwicklung GmbH, Schoenaicherstrasse 220, 71032 Boeblingen, Germany;IBM Deutschland Entwicklung GmbH, Schoenaicher Strasse 220, 71032 Boeblingen, Germany;IBM Deutschland Entwicklung GmbH, Schoenaicher Strasse 220, 71032 Boeblingen, Germany;IBM Research Division, Haifa Research Laboratory, University Campus, Haifa Israel 31905

  • Venue:
  • IBM Systems Journal
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

The GCC (GNU Compiler Collection) project of the Free Software Foundation has resulted in one of the most widespread compilers in use today that is capable of generating code for a variety of platforms. Since 1987, many volunteers from academia and the private sector have been working to continuously improve the functionality and quality of GCC. Some of the compiler's key components were, and continue to be, developed at IBM Research laboratories. We review several of IBM's contributions to the compiler, including a code generator for the IBM zSeries® processor and a front end for a PL/I-like language used for systems software programming. We also cover many optimizations, including the interblock instruction scheduler, software pipeliner, and vectorizer. These contributions help improve the overall performance of code generated by GCC, and in particular, enhance the IBM RISC (reduced instruction set computer) architecture and the zSeries processors. This paper includes a report on our general experience with GCC in both open source and proprietary software environments and reviews the quality and performance of GCC-generated code.