Two of the most important phases of code generation for instruction level parallel processors are register allocation and instruction scheduling. Applying one phase before the other has in both cases its drawbacks. In this paper we present a new method which integrates register allocation and scheduling, called Registers on Demand. We discuss register selection, spilling and the insertion of state preserving code around function calls. We have implemented the new method and results are presented. From the experiments we conclude that our method gives good results in particular for applications for which registers are a critical resource. 1 Introduction Modern optimizing compilers contain several optimization phases, including register all...
It has become a truism that memory accesses play the major role of degrading program performances. O...
AbstractInstruction scheduling and register allocation are two very important optimizations in moder...
This paper describes Unison, a simple, flexible, and potentially optimal software tool that performs...
Effective global instruction scheduling techniques have become an important component in modern comp...
Register allocation and instruction scheduling are two central compiler back-end problems that are c...
This paper introduces a constraint model and solving techniques for code generation in a compiler b...
This paper introduces a constraint model and solving techniques for code generation in a compiler b...
This paper introduces a constraint model and solving techniques for code generation in a compiler b...
Modern superscalar architectures with dynamic scheduling and register renaming capabilities have int...
In order to achieve high performance, processor architecture has become more and more complicated. A...
Modern superscalar architectures with dynamic scheduling and register renaming capabilities have int...
In order to achieve high performance, processor architecture has become more and more complicated. A...
[[abstract]]Instruction scheduling and register allocation are two very important optimizations in m...
It has become a truism that memory accesses play the major role of degrading program performances. O...
It has become a truism that memory accesses play the major role of degrading program performances. O...
It has become a truism that memory accesses play the major role of degrading program performances. O...
AbstractInstruction scheduling and register allocation are two very important optimizations in moder...
This paper describes Unison, a simple, flexible, and potentially optimal software tool that performs...
Effective global instruction scheduling techniques have become an important component in modern comp...
Register allocation and instruction scheduling are two central compiler back-end problems that are c...
This paper introduces a constraint model and solving techniques for code generation in a compiler b...
This paper introduces a constraint model and solving techniques for code generation in a compiler b...
This paper introduces a constraint model and solving techniques for code generation in a compiler b...
Modern superscalar architectures with dynamic scheduling and register renaming capabilities have int...
In order to achieve high performance, processor architecture has become more and more complicated. A...
Modern superscalar architectures with dynamic scheduling and register renaming capabilities have int...
In order to achieve high performance, processor architecture has become more and more complicated. A...
[[abstract]]Instruction scheduling and register allocation are two very important optimizations in m...
It has become a truism that memory accesses play the major role of degrading program performances. O...
It has become a truism that memory accesses play the major role of degrading program performances. O...
It has become a truism that memory accesses play the major role of degrading program performances. O...
AbstractInstruction scheduling and register allocation are two very important optimizations in moder...
This paper describes Unison, a simple, flexible, and potentially optimal software tool that performs...