Register Allocation via Graph Coloring Using an Evolutionary Algorithm
Register allocation is one of most important compiler optimization techniques. The most famous method for register allocation is graph coloring and the solution presented in this paper (RAGCES) is based on the graph coloring too; for coloring interference graph, evolutionary algorithm is used. In this method graph coloring and selecting variables for spilling is taken place at the same time. This method was tested on several graphs and results were compared with the results of the previous methods.
KeywordsCompiler Code Optimization Register Allocation Graph Coloring Evolutionary Algorithms
Unable to display preview. Download preview PDF.
- 2.Beaty, S.J.: Register Allocation and Assignment in a Retargetable Microcode Compiler Using Graph Coloring. Colorado State University (1987)Google Scholar
- 3.Cooper, K.D., Dasgupta, A.: Tailoring Graph-Coloring Register Allocation for Runtime Compilation. IEEE Computer Society (2006)Google Scholar
- 4.Chaitin, G.: Register Allocation and Spilling via Graph Coloring. In: Sigplan 1982 (1982)Google Scholar
- 5.Chow, F.C., Hennessy, J.L.: The Priority-Based Coloring Approach to Register Allocation. ACM (1990)Google Scholar
- 6.Chaitin, G., Auslander, M., Chandra, A., Cocke, J., Hopkins, M., Markstein, P.: Register Allocation via Coloring. Computer Languages, 45–57 (1981)Google Scholar
- 7.Briggs, P.: Register allocation via graph coloring, Phd thesis, Rice University, Houston, USA (1992)Google Scholar
- 8.Wu, S., Li, S.: Extending Traditional Graph-Coloring Register Allocation exploiting Meta-heuristics for Embedded Systems. IEEE Computer Society (2007)Google Scholar
- 9.Topcuoglu, H.R., Demiroz, B., Kandemir, M.: Solving the Register Allocation Problem for Embedded Systems Using a Hybrid Evolutionary Algorithm. IEEE Transaction on Evolutionary Computation 11(5) (October 2007)Google Scholar