Affiliation:
1. IMDEA Software Institute
2. IRISA -- University of Rennes 1/Inria
3. IRISA -- ENS Rennes/Inria
Abstract
CompCert is a formally verified compiler that generates compact and efficient code for a large subset of the C language. However, CompCert foregoes using SSA, an intermediate representation employed by many compilers that enables writing simpler, faster optimizers. In fact, it has remained an open problem to verify formally an SSA-based compiler. We report on a formally verified, SSA-based middle-end for CompCert. In addition to providing a formally verified SSA-based middle-end, we address two problems raised by Leroy in [2009]: giving an intuitive formal semantics to SSA, and leveraging its global properties to reason locally about program optimizations.
Funder
FNRAE ASCERT
Bretagne Regional project CertLogS
Madrid Regional project
Spanish project
Agence Nationale de la Recherche
Publisher
Association for Computing Machinery (ACM)
Cited by
29 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A Safe Low-Level Language for Computer Algebra and Its Formally Verified Compiler;Proceedings of the ACM on Programming Languages;2024-08-15
2. Hyperblock Scheduling for Verified High-Level Synthesis;Proceedings of the ACM on Programming Languages;2024-06-20
3. Pattern-Based Peephole Optimizations with Java JIT Tests;Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis;2023-07-12
4. Synthesizing Quantum-Circuit Optimizers;Proceedings of the ACM on Programming Languages;2023-06-06
5. Mechanised Semantics for Gated Static Single Assignment;Proceedings of the 12th ACM SIGPLAN International Conference on Certified Programs and Proofs;2023-01-11