|
ABSTRACT
Static Single Information (SSI) Form is a compiler intermediate representation that extends the more well-known Static Single Assignment (SSA) Form. In 2005, several research groups independently proved that interference graphs for procedures represented in SSA Form are chordal graphs. This paper performs a similar analysis concerning SSI Form, and proves that interference graphs are interval graphs. The primary consequences of this paper are threefold: (1) Linear scan register allocation for programs in SSI Form can be implemented in such a way that there are no lifetime holes, thereby sidestepping one of the drawbacks that plagued non-SSI implementations; (2) the k-colorable subgraph problem can be solved in polynomial-time for interval graphs, but remains NP-Complete for chordal graphs---to date, no register allocation algorithms have been implemented that solve the k-colorable subgraph problem directly; and (3) liveness analysis converges after a single iteration for programs represented in SSI Form.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
B. Alpern , M. N. Wegman , F. K. Zadeck, Detecting equality of variables in programs, Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.1-11, January 10-13, 1988, San Diego, California, United States
[doi> 10.1145/73560.73561]
|
| |
2
|
Ananian, C. S. The Static Single Information Form. M.S. Thesis. Massachusetts Institute of Technology, Cambridge, MA, 1999.
|
| |
3
|
Belady, L. A. A study of replacement algorithms for a virtual storage computer. IBM Systems Journal, vol. 5, no. 2, 1966, 78--101.
|
| |
4
|
Bouchez, F., Darte, A., Guillon, C., and Rastello, F. Register Allocation and Spill Complexity Under SSA, Technical Report 2005--33, ENS-Lyon, Lyon France, 2005.
|
| |
5
|
Brisk, P., Dabiri, F., Jafari, R., and Sarrafzadeh, M. Optimal register sharing for high-level synthesis of SSA form programs. IEEE Trans. Computer Aided Design, vol. 25, no. 25, May, 2006, 772--779.
|
| |
6
|
|
| |
7
|
|
| |
8
|
Cooper, K. D., and Torczon, L. Engineering a Compiler, Morgan-Kaufmann, San Francisco, CA, USA, 2003.
|
 |
9
|
|
| |
10
|
|
| |
11
|
Frank, A. On chain and antichain families of a partially ordered set. J. Combin. Theory Ser. B., vol. 29, 1980, 176--184.
|
| |
12
|
Frank, A. Some polynomial algorithms for certain graphs and hypergraphs. In Proceedings of the Fifth British Combinatorial Conference, University of Aberdeen, (Canada, July 14--18, 1975); Nash-Williams, C, and Sheehan, J., Eds. Congressus Numerantium XV, 211--226.
|
| |
13
|
Fulkerson, D. R., and Gross, O. A. Incidence matrices and interval graphs. Pacific Journal of Mathematics, vol. 15, 1965, 838--855.
|
| |
14
|
Gavril, F. Algorithms for minimal coloring, maximum clique, minimum covering by cliques, and maximum independent set of a chordal graph. SIAM J. Comput., vol. 1, no. 2, June, 1972, 108--187.
|
| |
15
|
|
| |
16
|
Gilmore, P. C., and Hoffman, A. J. A characterization of comparability graphs and interval graphs. Canadian Journal of Mathematics, vol. 16, 1964, 539--548.
|
| |
17
|
|
| |
18
|
Hack, S., Grund, D., and Goos, G. Register allocation for programs in SSA form. In Proc. of the 15<sup>th</sup> International Conf. on Compiler Construction (CC '06) (Vienna, Austria, March 30--31, 2006) 247--262.
|
| |
19
|
Lekkerkerker, C, and Boland, D. Representation of finite graphs by a set of intervals on the real line. Fund. Math., vol. 51, 1962, 45--61.
|
 |
20
|
|
| |
21
|
|
 |
22
|
|
| |
23
|
Pereira, F. M. Q., and Palsberg, J. Register allocation after classical SSA elimination is NP-Complete. In Proc. of the 9<sup>th</sup> International Conference on Foundations of Software Science and Computation Structure (FoSSaCS '06) (Vienna, Austria, March 25-31, 2006), 79--93.
|
 |
24
|
|
| |
25
|
|
 |
26
|
B. K. Rosen , M. N. Wegman , F. K. Zadeck, Global value numbers and redundant computations, Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.12-27, January 10-13, 1988, San Diego, California, United States
[doi> 10.1145/73560.73562]
|
| |
27
|
Sagonas, K. F., and Stenman, E. Experimental evaluation and improvements to linear scan register allocation. Software---Practice and Experience, vol. 35, no. 11, September, 2003, 1003--1034.
|
| |
28
|
Singer, J. Static Program Analysis Based on Virtual Register Renaming. Ph.D. Thesis, University of Cambridge, Cambridge, England, 2006.
|
 |
29
|
Omri Traub , Glenn Holloway , Michael D. Smith, Quality and speed in linear-scan register allocation, Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, p.142-151, June 17-19, 1998, Montreal, Quebec, Canada
|
 |
30
|
|
 |
31
|
|
| |
32
|
|
|