Verified Code Generation for the Polyhedral Model
summary
A formally verified code generator turns a polyhedral IR into sequential counted loops and is mechanized in Coq producing about 8k lines of development; it proves semantics preservation across passes that remove schedules, build a high‑level AST with polyhedral guards and loops, eliminate redundant constraints, and emit for‑loops with concrete bounds. The formalization uses list‑of‑lists matrices (no dependent types), reuses a verified polyhedral library, and exposes a rare incompleteness in prior projection ordering resolved by further splitting.
AI-written summary · about
chapters (22)
- 0:00Intro
- 0:15Loops in numerical computing Example: matrix multiplication
- 0:31Loop nests
- 1:09Loop optimizations
- 2:35A loop nest as a polyhedron
- 3:10Transformations in the polyhedral model
- 3:37Loop interchange as a polyheral transformation Loop interchange is a simple change of schedule
- 4:00Structure of a polyhedral optimizer
- 5:40Our formally verified code generator In this paper formalization and verification (in Coq) of a code generator from a polyhedral representation
- 7:32Polyhedral programs and instructions
- 8:29Semantics of polyhedral programs
- 9:12Intermediate language
- 11:15Simple case: only one polyhedral instruction
- 11:45Example of code generation with one polyhedral instruction
- 13:06General case: several polyhedral instructions
- 14:16Example with several polyhedra
- 15:55An incompleteness of the algorithm
- 18:21Generation of counted loops
- 19:18The impact of redundant constraint elimination
- 20:02The Coq formalization
- 21:37Future work
- 22:25Conclusions
related talks
59mCoq to C Translation with Partial Evaluation + Counterexample Generation
46mMechanizing Abstract Interpretation
31mPyrosome: A Framework for Modular, Extensible, Equivalence-Preserving Compilati...
24mFormally Verified Native Code Generation in an Effectful JIT: Turning the CompCe...
01h 06mVerifying a compiler through equational means
23mVellvm: Formalizing the Informal
29mTowards Formally Verified Just-In-Time Compilation
50mCompCert: a journey through the landscape of mechanized semantics for verified co...
