A Parallelizing Compiler by Object Oriented Design

  • Authors:
  • Yoichi Omori;Kazuki Joe;Akira Fukuda

  • Affiliations:
  • -;-;-

  • Venue:
  • COMPSAC '97 Proceedings of the 21st International Computer Software and Applications Conference
  • Year:
  • 1997

Quantified Score

Hi-index 0.00

Visualization

Abstract

Applying conventional compiler design methodology to a parallelizing compiler, its internal data structures tend to get too complicated quickly. Thus, we introduce object oriented design from the problem analysis stage and achieve the following improvements: 1) consistent modeling from the theory to the implementation, 2) reduced program size through improved reusability based on better class design methodology, and 3) flexible coding through a stub class for parallelization. We extract objects based on stream and thus clarify similarities and differences to the conventional design schemes. Then, we show the framework of the internal classes used in our parallelizing compiler which enhances design-level reusability in C++ implementation of the compiler. Furthermore, we provide a virtual class to be used as a unit of MIMD style parallel execution and make it a common representation among different parallelization algorithms. Finally, we compare our design against SUIF, which also uses C++, and show the improvements on the design classes.