Formally Verified Superblock Scheduling - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2022

Formally Verified Superblock Scheduling

Cyril Six
Léo Gourdin
Sylvain Boulmé
David Monniaux
Justus Fasse
  • Fonction : Auteur
  • PersonId : 1119328
Nicolas Nardino
  • Fonction : Auteur
  • PersonId : 1119329

Résumé

Necula [2000] and Tristan et al. [2011] established that symbolic execution combined with rewriting is effective in validating the code produced by state-of-the-art compilers applying various optimizations. In the meantime, Tristan and Leroy [2008] used formally-verified symbolic execution to certify the schedules produced by untrusted oracles-optimizing pipeline usage-within the CompCert compiler. Alas, their formally-verified checker had exponential complexity and was thus never integrated into mainline CompCert. Recently, Six et al. [2020] solved this performance issue with formally-verified hash-consing within the symbolic execution. Our paper extends these approaches to superblocks (where instructions move across branches) and enables translation validation of instruction rewritings (changing instructions for "better" ones) modulo register liveness (e.g. with introduction of "fresh" registers): a significant step forward for certifying compilers from symbolic executions.
Fichier principal
Vignette du fichier
hal_prepass_scheduling.pdf (667.88 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03200774 , version 1 (16-04-2021)
hal-03200774 , version 2 (11-12-2021)

Identifiants

Citer

Cyril Six, Léo Gourdin, Sylvain Boulmé, David Monniaux, Justus Fasse, et al.. Formally Verified Superblock Scheduling. Certified Programs and Proofs (CPP ’22), Jan 2022, Philadelphia, United States. ⟨10.1145/3497775.3503679⟩. ⟨hal-03200774v1⟩
524 Consultations
460 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More