• DocumentCode
    1902861
  • Title

    A polynomial spilling heuristic: Layered allocation

  • Author

    Diouf, B. ; Cohen, Asaf ; Rastello, F.

  • Author_Institution
    INRIA, Ecole Normale Super. de Paris, Paris, France
  • fYear
    2013
  • fDate
    23-27 Feb. 2013
  • Firstpage
    1
  • Lastpage
    10
  • Abstract
    Register allocation is one of the most important, and one of the oldest compiler optimizations. It aims to map temporary variables to machine registers, and defaults to explicit load/store from memory when necessary. The latter option is referred to as spilling. This paper addresses the minimization of the spill code overhead, one of the difficult problems in register allocation. We devised a heuristic, polynomial approach called layered. It is rooted in the recent advances in decoupled register allocation. As opposed to conventional incremental spilling, our method incrementally allocates clusters of variables. We demonstrate its quasi-optimiality on standard benchmarks and on two architectures.
  • Keywords
    polynomials; program compilers; storage management; compiler optimization; incremental spilling; layered allocation; layered approach; machine register; memory load; memory storage; polynomial approach; polynomial spilling heuristic; register allocation; spill code overhead; spilling option; Complexity theory; Interference; Optimization; Polynomials; Reactive power; Registers; Resource management; Register allocation; compilers;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Code Generation and Optimization (CGO), 2013 IEEE/ACM International Symposium on
  • Conference_Location
    Shenzhen
  • Print_ISBN
    978-1-4673-5524-7
  • Type

    conf

  • DOI
    10.1109/CGO.2013.6495005
  • Filename
    6495005