Register Allocation via Graph Coloring Using an Evolutionary Algorithm

  • Sevin Shamizi
  • Shahriar Lotfi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7077)


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.


Compiler Code Optimization Register Allocation Graph Coloring Evolutionary Algorithms 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aho, A.V., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools. Addison-Wesley, Reading (1986)zbMATHGoogle Scholar
  2. 2.
    Beaty, S.J.: Register Allocation and Assignment in a Retargetable Microcode Compiler Using Graph Coloring. Colorado State University (1987)Google Scholar
  3. 3.
    Cooper, K.D., Dasgupta, A.: Tailoring Graph-Coloring Register Allocation for Runtime Compilation. IEEE Computer Society (2006)Google Scholar
  4. 4.
    Chaitin, G.: Register Allocation and Spilling via Graph Coloring. In: Sigplan 1982 (1982)Google Scholar
  5. 5.
    Chow, F.C., Hennessy, J.L.: The Priority-Based Coloring Approach to Register Allocation. ACM (1990)Google Scholar
  6. 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. 7.
    Briggs, P.: Register allocation via graph coloring, Phd thesis, Rice University, Houston, USA (1992)Google Scholar
  8. 8.
    Wu, S., Li, S.: Extending Traditional Graph-Coloring Register Allocation exploiting Meta-heuristics for Embedded Systems. IEEE Computer Society (2007)Google Scholar
  9. 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
  10. 10.
    Hack, S., Goos, G.: Optimal Register Allocation for SSA-form programs in polynomial time. Information Processing Letters 98, 150–155 (2006)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Sevin Shamizi
    • 1
  • Shahriar Lotfi
    • 2
  1. 1.Department of Computer, Shabestar BranchIslamic Azad UniversityShabestarIran
  2. 2.Computer Science DepartmentUniversity of TabrizTabrizIran

Personalised recommendations