From Wikipedia, the free encyclopedia
Content deleted Content added
|
|
|||
| Line 2: | Line 2: | ||
|
”’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”’ 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.<ref>{{cite journal |first=G.J. |last=Chaitin |title=Register Allocation and Spilling via Graph Coloring |journal=ACM Sigplan Notices |volume=17 |issue=6 |pages=98–101 |date=June 1982 |doi=10.1145/872726.806984 |url=https://dl.acm.org/doi/pdf/10.1145/872726.806984}}</ref> It was extension of an earlier 1981 paper on the use of graph coloring for register allocation.<ref>{{cite journal |first=G.J. |last=Chaitin |first2=M.A. |last2=Auslander |first3=A.K. |last3=Chandra |first4=J. |last4=Cocke |first5=M.E. |last5=Hopkins |first6=P.W. |last6=Markstein |title=Register Allocation via Coloring |journal=Computer Languages |volume=6 |issue= |pages=45–57 |date=January 1981 |doi=10.1016/0096-0551(81)90048-5 |url=https://web.cs.ucla.edu/~harryxu/courses/142b/spring18/resource/register_allocation_via_coloring.pdf}}</ref> Chaitin’s algorithm formed the basis of a large section of research into register allocators.<ref>{{cite journal |first=Preston |last=Briggs |first2=Keith D. |last2=Cooper |first3=Linda |last3=Torczon |title=Improvements to Graph Coloring Register Allocation |journal=ACM Transactions on Programming Languages and Systems |volume=16 |issue=3 |pages=428–455 |date=May 1994 |doi=10.1145/177492.177575 |url=https://dl.acm.org/doi/pdf/10.1145/177492.177575}}</ref><ref>{{cite conference |last=Cooper |first=K.D. |last2=Dasgupta |first2=A. |last3=Eckhardt |first3=J. |title=Revisiting graph coloring register allocation: A study of the Chaitin-Briggs and Callahan-Koblenz algorithms |book-title=International Workshop on Languages and Compilers for Parallel Computing |publisher=Springer |series=Lecture Notes in Computer Science |volume=4339 |date=2005 |isbn=978-3-540-69330-7 |pages=1–16 |url=https://www.ece.lsu.edu/lcpc2005/papers/lcpc05-paper-04.pdf |doi=10.1007/978-3-540-69330-7_1}}</ref> |
|||
|
Chaitin’s algorithm was presented on the 1982 [[SIGPLAN]] Symposium on Compiler Construction, and published in the symposium proceedings. It was extension of an earlier 1981 paper on the use of graph coloring for register allocation. Chaitin’s algorithm formed the basis of a large section of research into register allocators. |
|||
|
==References== |
==References== |
||
|
{{reflist}} |
|||
|
{{refbegin}} |
|||
|
* {{cite journal|author=Gregory Chaitin|title=Register allocation and spilling via graph coloring|journal=ACM SIGPLAN Notices|volume=39|issue=4|date=April 2004|pages=66–74|doi=10.1145/989393.989403|s2cid=23108905}} |
* {{cite journal|author=Gregory Chaitin|title=Register allocation and spilling via graph coloring|journal=ACM SIGPLAN Notices|volume=39|issue=4|date=April 2004|pages=66–74|doi=10.1145/989393.989403|s2cid=23108905}} |
||
|
{{refend}} |
|||
|
{{algorithm-stub}} |
{{algorithm-stub}} |
||
Latest revision as of 07:07, 4 February 2026
Register allocation 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]
- ^ Chaitin, G.J. (June 1982). “Register Allocation and Spilling via Graph Coloring”. ACM Sigplan Notices. 17 (6): 98–101. doi:10.1145/872726.806984.
- ^ 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.
- ^ 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.
- ^ 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.

