A Region Based Framework for Combined Register Allocation and Instruction Scheduling for EPIC Architectures
Pradeep Kumar Jain, Yogesh M. Jain, Gopinath, K
Abstract
Pradeep Kumar Jain, Yogesh M. Jain, Gopinath, K
Abstract
The Trimaran compiler infrastructure has been developed for supporting state of art research in compiling Instruction Level Parallelism (ILP) architectures, especially those based on Explicitly Parallel Instruction Computing (EPIC) and for research in instruction scheduling, register allocation and machine-dependent optimizations. The current framework in Trimaran is not suitable for experimenting with techniques in which the instruction scheduling and register allocation interact. This is mainly due to the horizontal model of compilation employed in these optimizations where one optimization phase is carried out on all the regions of the function before proceeding to the next phase. The vertical model of compilation, in which several phases can be carried out simultaneously on a region before proceeding to the next region, is needed for exploiting more focussed optimizations. We have redesigned the framework for the ordering of execution of scheduling and register allocation phases in Trimaran to meet the above goals. Using the framework, we have combined instruction scheduling and register allocation by first using a pro list scheduler, then incorporating register pressure to make it sensitive to register allocation costs and nally making it pro We give the design of the framework and the performance results of our implementation.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
The Trimaran compiler infrastructure has been developed for supporting state of art research in compiling Instruction Level Parallelism (ILP) architectures, especially those based on Explicitly Parallel Instruction Computing (EPIC) and for research in instruction scheduling, register allocation and machine-dependent optimizations. The current framework in Trimaran is not suitable for experimenting with techniques in which the instruction scheduling and register allocation interact. This is mainly due to the horizontal model of compilation employed in these optimizations where one optimization phase is carried out on all the regions of the function before proceeding to the next phase. The vertical model of compilation, in which several phases can be carried out simultaneously on a region before proceeding to the next region, is needed for exploiting more focussed optimizations. We have redesigned the framework for the ordering of execution of scheduling and register allocation phases in Trimaran to meet the above goals. Using the framework, we have combined instruction scheduling and register allocation by first using a pro list scheduler, then incorporating register pressure to make it sensitive to register allocation costs and nally making it pro We give the design of the framework and the performance results of our implementation.
Key concepts: Register allocation, Computer science, Instruction scheduling, Compiler, Scheduling (production processes), Processor register, EPIC, Parallel computing