diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/index-kvx.html | 105 |
1 files changed, 74 insertions, 31 deletions
diff --git a/doc/index-kvx.html b/doc/index-kvx.html index b8850727..39fdf799 100644 --- a/doc/index-kvx.html +++ b/doc/index-kvx.html @@ -22,15 +22,17 @@ a:active {color : Red; text-decoration : underline; } </HEAD> <BODY> -<font color=gray><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.7, 2020-03-31</H3></font> +<H3 align="center">Version 3.8, 2020-11-16</H3> +</font> <H3 align="center">PATCHED for the Kalray MPPA-KVX VLIW CORE<!--@DATE@--></H3> <H2>Introduction</H2> -<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>. +<p>This web page is a patched version of the table of contents of the official CompCert sources documentation, + as given on <A HREF="http://compcert.org/doc/index.html">the CompCert Web site</A>. The unmodified parts of this table appear in <font color=gray>gray</font>. <br> <br> @@ -40,7 +42,8 @@ a:active {color : Red; text-decoration : underline; } See also the <tt>README.md</tt> of our <a href=https://gricad-gitlab.univ-grenoble-alpes.fr/certicompil/compcert-kvx>GitLab public repository</a>. </p> -<font color=gray><H2>Table of contents</H2> +<font color=gray> +<H2>Table of contents</H2> <H3>General-purpose libraries, data structures and algorithms</H3> @@ -85,6 +88,8 @@ See also: <A HREF="html/compcert.common.Memdata.html">Memdata</A> (in-memory rep <LI> <A HREF="html/compcert.common.Determinism.html">Determinism</A>: determinism properties of small-step semantics. <LI> <A HREF="html/compcert.kvx.Op.html"><I>Op</I></A>: operators, addressing modes and their semantics. +<LI> <A HREF="html/compcert.common.Builtins.html">Builtins</A>: semantics of built-in functions. <BR> +See also: <A HREF="html/compcert.common.Builtins0.html">Builtins0</A> (target-independent part), <A HREF="html/compcert.kvx.Builtins1.html"><I>Builtins1</I></A> (target-dependent part). <LI> <A HREF="html/compcert.common.Unityping.html">Unityping</A>: a solver for atomic unification constraints. </UL> @@ -123,6 +128,8 @@ view of the activation record. </font> <H4>Languages introduced for KVX core</H4> <UL> + <LI> <A HREF="html/compcert.scheduling.RTLpath.html">RTLpath</A>: extends RTL with annotations for delimitating superblocks (with possible liveness information). + This IR is generic over the processor, and used for prepass scheduling. <LI> <A HREF="html/compcert.kvx.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 KVX. <LI> <A HREF="html/compcert.kvx.Asmvliw.html"><I>Asmvliw</I></A>: abstract syntax and semantics for KVX VLIW assembly: atomic instructions are grouped by "bundles". These bundles are executed sequentially, but execution is parallel within bundles. @@ -131,14 +138,14 @@ This IR is generic over the processor, even if currently, only used for KVX. <LI> <A HREF="html/compcert.kvx.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> -<font color=gray><H3>Compiler passes</H3></font> +<H3>Compiler passes</H3> <TABLE cellpadding="5%" style="color:#808080"> <TR valign="top"> - <TH>Pass</TH> - <TH>Source & target</TH> - <TH>Compiler code</TH> - <TH>Correctness proof</TH> + <TH align=left>Pass</TH> + <TH align=left>Source & target</TH> + <TH align=left>Compiler code</TH> + <TH align=left>Correctness proof</TH> </TR> <TR valign="top"> @@ -172,7 +179,8 @@ This IR is generic over the processor, even if currently, only used for KVX. </TR> <TR valign="top"> - <TD>Recognition of operators<br>and addressing modes</TD> + <TD>Recognition of operators<br>and addressing modes;<br> + if-conversion</TD> <TD>Cminor to CminorSel</TD> <TD><A HREF="html/compcert.backend.Selection.html">Selection</A><br> <A HREF="html/compcert.kvx.SelectOp.html"><I>SelectOp</I></A><br> @@ -215,16 +223,6 @@ This IR is generic over the processor, even if currently, only used for KVX. <TD><A HREF="html/compcert.backend.Renumber.html">Renumber</A></TD> <TD><A HREF="html/compcert.backend.Renumberproof.html">Renumberproof</A></TD> </TR> - -<TR valign="top"> - <TD>Constant propagation</TD> - <TD>RTL to RTL</TD> - <TD><A HREF="html/compcert.backend.Constprop.html">Constprop</A><br> - <A HREF="html/compcert.kvx.ConstpropOp.html"><I>ConstpropOp</I></A></TD> - <TD><A HREF="html/compcert.backend.Constpropproof.html">Constpropproof</A><br> - <A HREF="html/compcert.kvx.ConstpropOpproof.html"><I>ConstproppOproof</I></A></TD> -</TR> - <TR valign="top"> <TD>Common subexpression elimination</TD> <TD>RTL to RTL</TD> @@ -235,12 +233,19 @@ This IR is generic over the processor, even if currently, only used for KVX. </TR> <TR valign="top"> + <TD>Constant propagation</TD> + <TD>RTL to RTL</TD> + <TD><A HREF="html/compcert.backend.Constprop.html">Constprop</A><br> + <A HREF="html/compcert.kvx.ConstpropOp.html"><I>ConstpropOp</I></A></TD> + <TD><A HREF="html/compcert.backend.Constpropproof.html">Constpropproof</A><br> + <A HREF="html/compcert.kvx.ConstpropOpproof.html"><I>ConstproppOproof</I></A></TD> +</TR> +<TR valign="top"> <TD>Redundancy elimination</TD> <TD>RTL to RTL</TD> <TD><A HREF="html/compcert.backend.Deadcode.html">Deadcode</A></TD> <TD><A HREF="html/compcert.backend.Deadcodeproof.html">Deadcodeproof</A></TD> </TR> - <TR valign="top"> <TD>Removal of unused static globals</TD> <TD>RTL to RTL</TD> @@ -248,6 +253,43 @@ This IR is generic over the processor, even if currently, only used for KVX. <TD><A HREF="html/compcert.backend.Unusedglobproof.html">Unusedglobproof</A></TD> </TR> +<TR valign="top" style="color:#000000"> + <TD colspan="4"><b>Passes introduced for superblock prepass scheduling</b></TD> +</TR> +<TR valign="top" style="color:#000000"> + <TD>Code duplications (trace selection, loop unrollings, etc) + </TD> + <TD>RTL to RTL</TD> + <TD><A HREF="html/compcert.backend.Duplicate.html">Duplicate</A> (generic checker)</TD> + <TD><A HREF="html/compcert.scheduling.Duplicateproof.html">Duplicateproof</A> (generic proof)<BR> + <a href="html/compcert.backend.Duplicatepasses.html">Duplicatepasses</a> (several passes from several oracles)</TD> +</TR> +<TR valign="top" style="color:#000000"> + <TD>Superblock selection (with Liveness information)</TD> + <TD>RTL to RTLPath</TD> + <TD><A HREF="html/compcert.scheduling.RTLpathLivegen.html">RTLpathLivegen</A></TD> + <TD><A HREF="html/compcert.scheduling.RTLpathLivegenproof.html">RTLpathLivegenproof</A></TD> +</TR> +<TR valign="top" style="color:#000000"> + <TD>Superblock prepass scheduling</TD> + <TD>RTLPath to RTLPath</TD> + <TD><A HREF="html/compcert.scheduling.RTLpathScheduler.html">RTLpathScheduler</A></TD> + <TD><A HREF="html/compcert.scheduling.RTLpathSchedulerproof.html">RTLpathSchedulerproof</A><BR> + with <A HREF="html/compcert.scheduling.RTLpathSE_theory.html">RTLpathSE_theory</A> (the theory of symbolic execution on RTLpath)<BR> + and <A HREF="html/compcert.scheduling.RTLpathSE_simu_specs.html">RTLpathSE_simu_specs</A> (the low-level specifications of the simulation checker)<BR> + and <A HREF="html/compcert.scheduling.RTLpathSE_impl.html">RTLpathSE_impl</A> (the simulation checker with hash-consing)</TD> +</TR> +<TR valign="top" style="color:#000000"> + <TD>Forgeting superblocks</TD> + <TD>RTLPath to RTL</TD> + <TD><A HREF="html/compcert.scheduling.RTLpath.html#transf_program">RTLpath.transf_program</A></TD> + <TD><A HREF="html/compcert.scheduling.RTLpathproof.html">RTLpathproof</A></TD> +</TR> + +<TR valign="top"> + <TD colspan="4"><b>Passes from register allocation</b></TD> +</TR> + <TR valign="top"> <TD>Register allocation (validation a posteriori)</TD> <TD>RTL to LTL</TD> @@ -292,11 +334,11 @@ This IR is generic over the processor, even if currently, only used for KVX. <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 KVX VLIW</H4> -<TABLE cellpadding="5%"> -<TR valign="top"> +<TR valign="top" style="color:#000000"> + <TD colspan="4"><b>Passes introduced for KVX VLIW</b></TD> +</TR> +<TR valign="top" style="color:#000000"> <TD>Reconstruction of basic-blocks at Mach level</TD> <TD>Mach to Machblock</TD> <TD><A HREF="html/compcert.kvx.lib.Machblockgen.html">Machblockgen</A></TD> @@ -304,7 +346,7 @@ This IR is generic over the processor, even if currently, only used for KVX. <A HREF="html/compcert.kvx.lib.Machblockgenproof.html">Machblockgenproof</A></TD> </TR> -<TR valign="top"> +<TR valign="top" style="color:#000000"> <TD>Emission of purely sequential assembly code</TD> <TD>Machblock to Asmblock</TD> <TD><A HREF="html/compcert.kvx.Asmblockgen.html"><I>Asmblockgen</I></A></TD> @@ -313,15 +355,16 @@ This IR is generic over the processor, even if currently, only used for KVX. <A HREF="html/compcert.kvx.Asmblockgenproof.html"><I>Asmblockgenproof</I></A></TD> </TR> -<TR valign="top"> +<TR valign="top" style="color:#000000"> <TD>Bundling (and basic-block scheduling)</TD> <TD>Asmblock to Asmvliw</TD> - <TD><A HREF="html/compcert.kvx.PostpassScheduling.html"><I>PostpassScheduling</I></A> using<BR> - <A HREF="html/compcert.kvx.Asmblockdeps.html"><I>Asmblockdeps</I></A> and the <tt>abstractbb</tt> library</TD> + <TD><A HREF="html/compcert.kvx.PostpassScheduling.html"><I>PostpassScheduling</I></A><BR> + using <A HREF="html/compcert.kvx.Asmblockdeps.html"><I>Asmblockdeps</I></A><BR> + and the <tt>abstractbb</tt> library</TD> <TD><A HREF="html/compcert.kvx.PostpassSchedulingproof.html"><I>PostpassSchedulingproof</I></A></TD> </TR> -<TR valign="top"> +<TR valign="top" style="color:#000000"> <TD>Flattening bundles (only a bureaucratic operation)</TD> <TD>Asmvliw to Asm</TD> <TD><A HREF="html/compcert.kvx.Asmgen.html"><I>Asmgen</I></A></TD> |