Validating register allocation and spilling

  • Authors:
  • Silvain Rideau;Xavier Leroy

  • Affiliations:
  • École Normale Supérieure, Paris, France;INRIA Paris-Rocquencourt, BP 105, Le Chesnay, France

  • Venue:
  • CC'10/ETAPS'10 Proceedings of the 19th joint European conference on Theory and Practice of Software, international conference on Compiler Construction
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Following the translation validation approach to high-assurance compilation, we describe a new algorithm for validating a posteriori the results of a run of register allocation. The algorithm is based on backward dataflow inference of equations between variables, registers and stack locations, and can cope with sophisticated forms of spilling and live range splitting, as well as many architectural irregularities such as overlapping registers. The soundness of the algorithm was mechanically proved using the Coq proof assistant.