Chaitin's algorithm

Chaitin's algorithm is a bottom-up, graph coloring register allocation algorithm that uses cost/degree as its spill metric. It is named after its designer, Gregory Chaitin. Chaitin's algorithm was the first register allocation algorithm that made use of coloring of the interference graph for both register allocations and spilling.

Chaitin's algorithm was presented on the 1982 SIGPLAN Symposium on Compiler Construction, and published in the symposium proceedings.[1] It was extension of an earlier 1981 paper on the use of graph coloring for register allocation.[2] Chaitin's algorithm formed the basis of a large section of research into register allocators.[3][4]

References

  1. ^ Chaitin, G.J. (June 1982). "Register Allocation and Spilling via Graph Coloring". ACM Sigplan Notices. 17 (6): 98–101. doi:10.1145/872726.806984.
  2. ^ Chaitin, G.J.; Auslander, M.A.; Chandra, A.K.; Cocke, J.; Hopkins, M.E.; Markstein, P.W. (January 1981). "Register Allocation via Coloring" (PDF). Computer Languages. 6: 45–57. doi:10.1016/0096-0551(81)90048-5.
  3. ^ Briggs, Preston; Cooper, Keith D.; Torczon, Linda (May 1994). "Improvements to Graph Coloring Register Allocation". ACM Transactions on Programming Languages and Systems. 16 (3): 428–455. doi:10.1145/177492.177575.
  4. ^ Cooper, K.D.; Dasgupta, A.; Eckhardt, J. (2005). "Revisiting graph coloring register allocation: A study of the Chaitin-Briggs and Callahan-Koblenz algorithms" (PDF). International Workshop on Languages and Compilers for Parallel Computing. Lecture Notes in Computer Science. Vol. 4339. Springer. pp. 1–16. doi:10.1007/978-3-540-69330-7_1. ISBN 978-3-540-69330-7.