Verifying fence elimination optimisations

  • Authors:
  • Viktor Vafeiadis;Francesco Zappa Nardelli

  • Affiliations:
  • MPI-SWS;INRIA

  • Venue:
  • SAS'11 Proceedings of the 18th international conference on Static analysis
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

We consider simple compiler optimisations for removing redundant memory fences in programs running on top of the x86-TSO relaxed memory model. While the optimisations are performed using standard thread-local control flow analyses, their correctness is subtle and relies on a non-standard global simulation argument. The implementation and the proof of correctness are programmed in Coq as part of CompCertTSO, a fully-fledged certified compiler from a concurrent extension of a C-like language to x86 assembler. In this article, we describe the soundness proof of the optimisations and evaluate their effectiveness.