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.
|Number of pages||8|
|Journal||Proceedings - IEEE Computer Society's International Computer Software and Applications Conference|
|Publication status||Published - Jan 1 1997|
All Science Journal Classification (ASJC) codes
- Computer Science Applications