The main goal of parallelizing ocmpiler research is the ability to produce efficient parallel programs and the protability because of wide choices of current and future available parallel computer architectures. Since the desing of parallelizing compilers tends to be more complicated than conventional compilers, it is extremely difficult to achieve both the efficiency and the portability. To meet this problem, we have investigated an application of object oriented design to parallelizing ocmpilers. Our parallelizing compiler deisng is based on abstractions of intermediate representations of loops and class definitions for them. In this paper, we focus on loop parallelization and propose a framework where loop parallelization process is divided into three phases and the optimization of loops is performed via cyclic use of those three phases. The class of each phase is hierarchically derived from intermediate representations of loops. This increases the portability of resultant parallelizing compilers. Furthermore, one of the phases uses a reservation table of hardware resource to obtain partical optimization of parallel programs for given hardware resource.
展开▼