Mechanizing Conventional SSA for a Verified Destruction with Coalescing. D. Demange and Y. Fernandez de Retana. CC'16. preprint pdf
Download the corresponding Coq development snapshot.
CompCertSSA main web page.
midend/CSSApar.v
: CSSA syntax and semanticsmidend/CSSApargen.v
: CSSA generationmidend/CSSApargenspec.v
: CSSA generation specificationmidend/CSSApargenproof.v
: CSSA generation semantics preservationmidend/CSSApargenwf.v
: CSSA generation well-formedness propretiesmidend/CSSAlive.v
: CSSA live-range propertiesmidend/RTLpar.v
: RTLpar syntax and semanticsmidend/RTLpargensimpl.v
: Simple destruction: just elimination of phi-functions (implementation)midend/CSSAliverange.v
: for simple destruction: live-range splitting property midend/CSSAsimpldestruction.v
: Simple destruction: semantics preservation proof midend/RTLpargen.v
: Destruction with coalescing (implementation)midend/CSSAval.v
: CSSA-value properties and checkermidend/CSSAninterf.v
: Non-interference propertiesmidend/CSSAcoalescing.v
: Destruction with coalescing: semantics preservation proofThe version of Coq used in this work is version 8.4pl6 (April 2015) compiled with OCaml 4.02.2.
cd coalescing ./configure ia32-linux # or ia32-macosx, etc... make depend make all
cd test (if necessary) make coalescing make spillingThen each subfolder of "test" will contain files with results named results_coalescing.out and results_spilling.out for each test.