Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1269843.1269858acmconferencesArticle/Chapter ViewAbstractPublication PagesscopesConference Proceedingsconference-collections
Article

Interference graphs for procedures in static single information form are interval graphs

Published: 20 April 2007 Publication History
  • Get Citation Alerts
  • 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

    [1]
    Alpern, B., Wegman, M. N., and Zadeck, F. K. Detecting equality of variables in programs. In Proceedings of Principles of Programming Langauges (POPL '88), (San Diego, CA, USA, January 10--13, 1988), 1--11.
    [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]
    Chen, D., and Cong, J. Register binding and port assignment for multiplexer optimization. In Proceedings of the Asia South Pacific Design Automation Conference (ASP-DAC '04), (Yokohama, Japan, January 27-30, 2004), 68--73.
    [7]
    Cooper, K. D., and Dasgupta, A. Tailoring graph coloring register allocation for runtime compilation. In Proc. of the 4th Symp. on Code Generation and Optimization (CGO '06) (Manhattan, NY, USA, March 26--29, 2006,) 39--49.
    [8]
    Cooper, K. D., and Torczon, L. Engineering a Compiler, Morgan-Kaufmann, San Francisco, CA, USA, 2003.
    [9]
    Cytron, R., Ferrante, J., Rosen, B. K., Wegman, M. N., and Zadeck, F. K. Efficiently computing static single assignment form and the control dependence graph. ACM Transactions on Programming Languages and Systems, vol. 13, no. 4, October, 1991, 451--490.
    [10]
    Farach, M., and Liberatore, V. On local register allocation. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms (SODA, '98) (San Francisco, CA, USA, January 25--27, 1998) 564--573.
    [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]
    Georgiadis, L. and Tarjan, R. E. Finding dominators revisited. In Proc. of the 15th Annual ACM-SIAM Symp. on Discrete Algorithms (SODA, '04), (New Orleans, LA, USA, Jan. 11--14, 2004) 869--878.
    [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]
    Hack, S., and Goos, G. Optimal register allocation for SSA-form programs in polynomial time. Information Processing Letters vol. 98, nol 4, May, 2006, 150--155.
    [18]
    Hack, S., Grund, D., and Goos, G. Register allocation for programs in SSA form. In Proc. of the 15th 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]
    Lengauer, T., and Tarjan, R. E. A fast algorithm for finding dominators in a flowgraph. ACM Transactions on Programming Languages and Systems, vol. 1, no. 1, July, 1979, 121--141.
    [21]
    Mössenböck, H. P., and Pfeiffer, M. Linear scan register allocation in the context of SSA form and register constraints. In Proc. of the 11th International Conf. on Compiler Construction (CC '02) (Grenoble, France, April 8--11, 2002) 229--246.
    [22]
    Norris, C, and Pollack, L. L. Register allocation over the program dependence graph. In Proc. of the Conference on Programming Language Design and Implementation (PLDI '94), (Orlando, FL, USA, June 20--24, 1994), 266--277.
    [23]
    Pereira, F. M. Q., and Palsberg, J. Register allocation after classical SSA elimination is NP-Complete. In Proc. of the 9th International Conference on Foundations of Software Science and Computation Structure (FoSSaCS '06) (Vienna, Austria, March 25-31, 2006), 79--93.
    [24]
    Poletto, M., and Sarkar, V. Linear scan register allocation. ACM Trans. Programming Languages and Systems, vol. 21, no. 5, September, 1999, 895--913.
    [25]
    Rastello, F., de Ferriere, F., and Guillon, C. Optimizing translation out of SSA using renaming constraints. In Proc. of the 2nd International Symp. on Code Generation and Optimization (CGO '04) (Palo Alto, CA, USA, March 21-24, 2004) 265--278
    [26]
    Rosen, B. K., Wegman, M. N., and Zadeck, F. K. Global value numbers and redundant computations. In Proceedings of Principles of Programming Langauges (POPL '88), (San Diego, CA, USA, January 10--13, 1988), 12--27.
    [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]
    Traub, O., Holloway, G., and Smith, M. D. Quality and speed in linear scan register allocation. Programming Language Design and Implementation (PLDI '98), (Montreal, Quebec, Canada, June 17--19, 1998), 142--151.
    [30]
    Wegman, M. N., and Zadeck, F. K. Constant propagation with conditional branches. ACM Transactions on Programming Languages and Systems, vol. 13, no. 2, April, 1991, 181--210.
    [31]
    Wimmer, C., and Mössenböck, H. Optimized interval splitting in a linear scan register allocator. In Proc. Of the ACM/USENIX International Conference on Virtual Execution Environments (Chicago, IL, USA, June 11--12, 2005), 132--141.
    [32]
    Yannakakis, M., and Gavril, F. The maximum k-colorable subgraph problem for chordal graphs. Information Processing Letters, vol. 24, no. 2, January, 1987, 133--137.

    Cited By

    View all

    Index Terms

    1. Interference graphs for procedures in static single information form are interval graphs

        Recommendations

        Comments

        Information & Contributors

        Information

        Published In

        cover image ACM Conferences
        SCOPES '07: Proceedingsof the 10th international workshop on Software & compilers for embedded systems
        April 2007
        127 pages
        ISBN:9781450378345
        DOI:10.1145/1269843
        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Sponsors

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        Published: 20 April 2007

        Permissions

        Request permissions for this article.

        Check for updates

        Author Tags

        1. compilers
        2. interval graph
        3. k-colorable subgraph problem
        4. linear scan register allocation
        5. register allocation
        6. static single information (SSI) form

        Qualifiers

        • Article

        Acceptance Rates

        Overall Acceptance Rate 38 of 79 submissions, 48%

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • Downloads (Last 12 months)2
        • Downloads (Last 6 weeks)0

        Other Metrics

        Citations

        Cited By

        View all
        • (2018)Improving on Linear Scan Register AllocationInternational Journal of Automation and Computing10.1007/s11633-017-1100-015:2(228-238)Online publication date: 1-Apr-2018
        • (2014)Certified Transformation for Static Single Assignment of SPMD ProgramsProceedings of the 2014 14th International Conference on Computational Science and Its Applications10.1109/ICCSA.2014.15(12-17)Online publication date: 30-Jun-2014
        • (2012)SSI Properties RevisitedACM Transactions on Embedded Computing Systems10.1145/2180887.218089811S:1(1-23)Online publication date: 1-Jun-2012
        • (2009)Optimistic chordal coloringDesign Automation for Embedded Systems10.1007/s10617-008-9034-y13:1-2(115-137)Online publication date: 1-Jun-2009
        • (2008)Register allocation by puzzle solvingACM SIGPLAN Notices10.1145/1379022.137560943:6(216-226)Online publication date: 7-Jun-2008
        • (2008)Register allocation by puzzle solvingProceedings of the 29th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/1375581.1375609(216-226)Online publication date: 7-Jun-2008

        View Options

        Get Access

        Login options

        View options

        PDF

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        Media

        Figures

        Other

        Tables

        Share

        Share

        Share this Publication link

        Share on social media