aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorSylvain Boulmé <sylvain.boulme@univ-grenoble-alpes.fr>2020-05-10 18:11:58 +0200
committerSylvain Boulmé <sylvain.boulme@univ-grenoble-alpes.fr>2020-05-10 18:11:58 +0200
commitafefcbe84bfe603a7954fc99688636e40bfd1c1f (patch)
tree96bcfaf1d310d896c60dc42509af709ea166a82e /doc
parent6171f6a0880acbf0d007a7715cc37984ac25d851 (diff)
downloadcompcert-kvx-afefcbe84bfe603a7954fc99688636e40bfd1c1f.tar.gz
compcert-kvx-afefcbe84bfe603a7954fc99688636e40bfd1c1f.zip
updating the html index for mppa-k1c
NOTE: This file has been copied from the one of pldi-artefact branch.
Diffstat (limited to 'doc')
-rw-r--r--doc/index-mppa_k1c.html72
1 files changed, 27 insertions, 45 deletions
diff --git a/doc/index-mppa_k1c.html b/doc/index-mppa_k1c.html
index 41a44a0d..50e11def 100644
--- a/doc/index-mppa_k1c.html
+++ b/doc/index-mppa_k1c.html
@@ -22,50 +22,19 @@ a:active {color : Red; text-decoration : underline; }
</HEAD>
<BODY>
-<H1 align="center">The CompCert verified compiler</H1>
+<font color=gray><H1 align="center">The CompCert verified compiler</H1>
<H2 align="center">Commented Coq development</H2>
-<H3 align="center">Version 3.5, 2019-02-27</H3>
-<H3 align="center">PATCHED FOR MPPA-K1C</H3>
+<H3 align="center">Version 3.7, 2020-03-31</H3></font>
+<H3 align="center">PATCHED for the Kalray MPPA-K1C VLIW CORE</H3>
<H2>Introduction</H2>
-<P>CompCert is a compiler that generates PowerPC, ARM, RISC-V and x86 assembly
-code from CompCert C, a large subset of the C programming language.
-The particularity of this compiler is that it is written mostly within
-the specification language of the Coq proof assistant, and its
-correctness --- the fact that the generated assembly code is
-semantically equivalent to its source program --- was entirely proved
-within the Coq proof assistant.</P>
+<p>This web page is a patched version of the table of contents of the official CompCert documentation,
+ as given on <A HREF="http://compcert.inria.fr/doc/index.html">the CompCert Web site</A>.
+ The unmodified parts of this table appear in <font color=gray>gray</font>.
+</font>
-<P>High-level descriptions of the CompCert compiler and its proof of
-correctness can be found in the following papers (in increasing order of technical details):</P>
-<UL>
-<LI>Xavier Leroy, <A HREF="https://xavierleroy.org/publi/compcert-CACM.pdf">Formal verification of a realistic compiler</A>. Communications of the ACM 52(7), July 2009.
-<LI>Xavier Leroy, <A HREF="https://xavierleroy.org/publi/compcert-backend.pdf">A formally verified compiler back-end</A>.
-Journal of Automated Reasoning 43(4):363-446, 2009.
-</UL>
-
-<P>This Web site gives a commented listing of the underlying Coq
-specifications and proofs. Proof scripts are folded by default, but
-can be viewed by clicking on "Proof". Some modules (written in <I>italics</I> below) differ between the four target architectures. The
-PowerPC versions of these modules are shown below; the ARM, x86 and RISC-V
-versions can be found in the source distribution.
-</P>
-
-<P> This development is a work in progress; some parts have
-substantially changed since the overview papers above were
-written.</P>
-
-<P>The complete sources for CompCert can be downloaded from
-<A HREF="http://compcert.inria.fr/">the CompCert Web site</A>.</P>
-
-<P>This document and the CompCert sources are copyright Institut
-National de Recherche en Informatique et en Automatique (INRIA) and
-AbsInt Angewandte Informatik GmbH, and are distributed under the terms of the
-following <A HREF="LICENSE">license</A>.
-</P>
-
-<H2>Table of contents</H2>
+<font color=gray><H2>Table of contents</H2>
<H3>General-purpose libraries, data structures and algorithms</H3>
@@ -83,8 +52,16 @@ semi-lattices.
inequations by fixpoint iteration.
<LI> <A HREF="html/compcert.lib.UnionFind.html">UnionFind</A>: a persistent union-find data structure.
<LI> <A HREF="html/compcert.lib.Postorder.html">Postorder</A>: postorder numbering of a directed graph.
+</UL></font>
+
+<H4>The <tt>abstractbb</tt> library, introduced for MPPA-K1C</H4>
+<UL>
+<LI> <A HREF="html/compcert.mppa_k1c.abstractbb.AbstractBasicBlocksDef.html">AbstractBasicBlocksDef</A>: an IR for verifying some semantic properties on basic-blocks.
+<LI> <A HREF="html/compcert.mppa_k1c.abstractbb.Parallelizability.html">Parallelizability</A>: verifying that sequential and parallel semantics are equivalent for a given abstract basic-block.
+<LI> <A HREF="html/compcert.mppa_k1c.abstractbb.ImpSimuTest.html">ImpSimuTest</A>: verifying that a given abstract basic-block is simulated by another one for sequential semantics. This module refines <A HREF="html/compcert.mppa_k1c.abstractbb.SeqSimuTheory.html">SeqSimuTheory</A> with hash-consing.
</UL>
+<font color=gray>
<H3>Definitions and theorems used in many parts of the development</H3>
<UL>
@@ -136,6 +113,10 @@ locations) and <A HREF="html/compcert.mppa_k1c.Machregs.html"><I>Machregs</I></A
replaced by a linear list of instructions with explicit branches and labels.
<LI> <A HREF="html/compcert.backend.Mach.html">Mach</A>: like Linear, with a more concrete
view of the activation record.
+</UL>
+</font>
+<H4>Languages introduced for MPPA-K1C</H4>
+<UL>
<LI> <A HREF="html/compcert.mppa_k1c.lib.Machblock.html">Machblock</A>: a variant of Mach, with a syntax for basic-blocks, and a block-step semantics (execute one basic-block in one step).
This IR is generic over the processor, even if currently, only used for MPPA_K1C.
<LI> <A HREF="html/compcert.mppa_k1c.Asmvliw.html"><I>Asmvliw</I></A>: abstract syntax and semantics for Mppa_K1c VLIW assembly: atomic instructions are grouped by "bundles". These bundles are executed sequentially, but execution is parallel within bundles.
@@ -144,9 +125,9 @@ This IR is generic over the processor, even if currently, only used for MPPA_K1C
<LI> <A HREF="html/compcert.mppa_k1c.Asm.html"><I>Asm</I></A>: a variant of Asmvliw with a flat syntax for bundles, instead of a structured one (bundle termination is encoded as a pseudo-instruction). This IR is mainly a wrapper of <I>Asmvliw</I> for a smooth integration in CompCert (and an easier pretty-printing of the abstract syntax).
</UL>
-<H3>Compiler passes</H3>
+<font color=gray><H3>Compiler passes</H3></font>
-<TABLE cellpadding="5%">
+<TABLE cellpadding="5%" style="color:#808080">
<TR valign="top">
<TH>Pass</TH>
<TH>Source &amp; target</TH>
@@ -305,7 +286,10 @@ This IR is generic over the processor, even if currently, only used for MPPA_K1C
<TD><A HREF="html/compcert.backend.Stackingproof.html">Stackingproof</A><br>
<A HREF="html/compcert.common.Separation.html">Separation</A></TD>
</TR>
+</TABLE>
+<H4>Compilation passes introduced for MPPA-K1C</H4>
+<TABLE cellpadding="5%">
<TR valign="top">
<TD>Reconstruction of basic-blocks at Mach level</TD>
<TD>Mach to Machblock</TD>
@@ -339,6 +323,7 @@ This IR is generic over the processor, even if currently, only used for MPPA_K1C
</TR>
</TABLE>
+<font color=gray>
<H3>All together</H3>
<UL>
@@ -371,10 +356,7 @@ The <A HREF="html/compcert.cfrontend.Ctyping.html">type system of CompCert C</A>
reconstruction.
<LI> <A HREF="html/compcert.backend.Lineartyping.html">Lineartyping</A>: typing for Linear.
</UL>
-
-<HR>
-<ADDRESS>Xavier.Leroy@inria.fr</ADDRESS>
-<HR>
+</font>
</BODY>
</HTML>