diff options
author | Léo Gourdin <leo.gourdin@univ-grenoble-alpes.fr> | 2021-12-07 11:49:31 +0100 |
---|---|---|
committer | Léo Gourdin <leo.gourdin@univ-grenoble-alpes.fr> | 2021-12-07 11:49:31 +0100 |
commit | 2ed836d9fd798c17b0858468bda07bfa70dc9e43 (patch) | |
tree | a9a6bf7d36707d18e7967e7be3bfe8e871d397c9 /doc | |
parent | dac0aadbb00447f4bbfe40586d32ccffe6703222 (diff) | |
download | compcert-kvx-2ed836d9fd798c17b0858468bda07bfa70dc9e43.tar.gz compcert-kvx-2ed836d9fd798c17b0858468bda07bfa70dc9e43.zip |
doc
Diffstat (limited to 'doc')
-rw-r--r-- | doc/index-verimag.html | 263 |
1 files changed, 226 insertions, 37 deletions
diff --git a/doc/index-verimag.html b/doc/index-verimag.html index 1eb857d9..56b16991 100644 --- a/doc/index-verimag.html +++ b/doc/index-verimag.html @@ -24,9 +24,9 @@ a:active {color : Red; text-decoration : underline; } <font color=gray> <H1 align="center">The CompCert verified compiler</H1> <H2 align="center">Commented Coq development</H2> -<H3 align="center">Version 3.9, 2021-05-10</H3> +<H3 align="center">Version 3.10, 2021-11-19</H3> </font> -<H3 align="center"><a href="https://www-verimag.imag.fr">VERIMAG</a> fork version 2021-29-10</H3> +<H3 align="center"><a href="https://www-verimag.imag.fr">VERIMAG</a> fork version 2021-12-07</H3> <H2>The CompCert Verimag's fork</H2> <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>. @@ -304,8 +304,97 @@ Specific to KVX: <A HREF="html/compcert.backend.Inliningproof.html">Inliningproof</A></TD> </TR> +<TR valign="top" style="color:#000000"> + <TD colspan="4"><b>Passes introduced for profiling (for later use in trace selection)</b></TD> +</TR> +<TR valign="top" style="color:#000000"> + <TD>Insert profiling annotations (for recording experiments -- see PROFILE.md). + </TD> + <TD>RTL to RTL</TD> + <TD><A HREF="html/compcert.backend.Profiling.html">Profiling</A></TD> + <TD><A HREF="html/compcert.backend.Profilingproof.html">Profilingproof</A></TD> +</TR> +<TR valign="top" style="color:#000000"> + <TD>Update ICond nodes (from recorded experiments -- see PROFILE.md). + </TD> + <TD>RTL to RTL</TD> + <TD><A HREF="html/compcert.backend.ProfilingExploit.html">ProfilingExploit</A></TD> + <TD><A HREF="html/compcert.backend.ProfilingExploitproof.html">ProfilingExploitproof</A></TD> +</TR> + +<TR valign="top" style="color:#000000"> + <TD>FirstNop: Inserting a no-op instruction at each RTL function entrypoint</TD> + <TD>RTL to RTL</TD> + <TD><A HREF="html/compcert.backend.FirstNop.html">FirstNop</A></TD> + <TD><A HREF="html/compcert.backend.FirstNopproof.html">FirstNopproof</A></TD> +</TR> + <TR valign="top"> - <TD>Postorder renumbering of the CFG</TD> + <TD>Postorder renumbering of the CFG (1)</TD> + <TD>RTL to RTL</TD> + <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>[CSE1] Common subexpression elimination (1)</TD> + <TD>RTL to RTL</TD> + <TD><A HREF="html/compcert.backend.CSE.html">CSE</A><BR> + <A HREF="html/compcert.kvx.CombineOp.html"><I>CombineOp</I></A></TD> + <TD><A HREF="html/compcert.backend.CSEproof.html">CSEproof</A><BR> + <A HREF="html/compcert.kvx.CombineOpproof.html"><I>CombineOpproof</I></A></TD> +</TR> + +<TR valign="top" style="color:#000000"> + <TD colspan="4"><b>[Duplicate pass] Static Prediction + Unroll single</b></TD> +<TR valign="top" style="color:#000000"> + <TD>Add static prediction information to Icond nodes<BR> + Unrolls a single iteration of innermost loops + </TD> + <TD>RTL to RTL</TD> + <TD><A HREF="html/compcert.backend.Duplicate.html">Duplicate</A> (generic checker)</TD> + <TD><A HREF="html/compcert.backend.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"> + <TD>Postorder renumbering of the CFG (2)</TD> + <TD>RTL to RTL</TD> + <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" style="color:#000000"> + <TD colspan="4"><b>[Duplicate pass] Tail Duplication</b></TD> +<TR valign="top" style="color:#000000"> + <TD>Performs tail duplication on interesting traces to form superblocks + </TD> + <TD>RTL to RTL</TD> + <TD><A HREF="html/compcert.backend.Duplicate.html">Duplicate</A> (generic checker)</TD> + <TD><A HREF="html/compcert.backend.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"> + <TD>Postorder renumbering of the CFG (3)</TD> + <TD>RTL to RTL</TD> + <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" style="color:#000000"> + <TD colspan="4"><b>[Duplicate pass] Unroll body</b></TD> +<TR valign="top" style="color:#000000"> + <TD>Unrolling the body of innermost loops + </TD> + <TD>RTL to RTL</TD> + <TD><A HREF="html/compcert.backend.Duplicate.html">Duplicate</A> (generic checker)</TD> + <TD><A HREF="html/compcert.backend.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"> + <TD>Postorder renumbering of the CFG (4)</TD> <TD>RTL to RTL</TD> <TD><A HREF="html/compcert.backend.Renumber.html">Renumber</A></TD> <TD><A HREF="html/compcert.backend.Renumberproof.html">Renumberproof</A></TD> @@ -321,7 +410,14 @@ Specific to KVX: </TR> <TR valign="top"> - <TD>Common subexpression elimination</TD> + <TD>Postorder renumbering of the CFG (5)</TD> + <TD>RTL to RTL</TD> + <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>[CSE1] Common subexpression elimination (1)</TD> <TD>RTL to RTL</TD> <TD><A HREF="html/compcert.backend.CSE.html">CSE</A><BR> <A HREF="html/compcert.kvx.CombineOp.html"><I>CombineOp</I></A></TD> @@ -329,67 +425,159 @@ Specific to KVX: <A HREF="html/compcert.kvx.CombineOpproof.html"><I>CombineOpproof</I></A></TD> </TR> +<TR valign="top" style="color:#000000"> + <TD>[CSE2] Common subexpression elimination</TD> + <TD>RTL to RTL</TD> + <TD><A HREF="html/compcert.backend.CSE2.html">CSE2</A><BR> + </TD> + <TD><A HREF="html/compcert.backend.CSE2proof.html">CSE2proof</A><BR> + </TD> +</TR> + +<TR valign="top" style="color:#000000"> + <TD>[CSE3] Common subexpression elimination (1)</TD> + <TD>RTL to RTL</TD> + <TD><A HREF="html/compcert.backend.CSE3.html">CSE3</A><BR> + </TD> + <TD><A HREF="html/compcert.backend.CSE3proof.html">CSE3proof</A><BR> + </TD> +</TR> + +<TR valign="top" style="color:#000000"> + <TD>KillUselessMoves: removing useless moves instructions after CSE3</TD> + <TD>RTL to RTL</TD> + <TD><A HREF="html/compcert.backend.KillUselessMoves.html">KillUselessMoves</A><BR> + </TD> + <TD><A HREF="html/compcert.backend.KillUselessMovesproof.html">KillUselessMovesproof</A><BR> + </TD> +</TR> + +<TR valign="top" style="color:#000000"> + <TD>Forwarding Moves</TD> + <TD>RTL to RTL</TD> + <TD><A HREF="html/compcert.backend.ForwardMoves.html">ForwardMoves</A><BR> + </TD> + <TD><A HREF="html/compcert.backend.ForwardMovesproof.html">ForwardMovesproof</A><BR> + </TD> +</TR> + <TR valign="top"> - <TD>Redundancy elimination</TD> + <TD>Redundancy elimination (1)</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" style="color:#000000"> + <TD>RTL Tunneling</TD> + <TD>RTL to RTL</TD> + <TD><A HREF="html/compcert.backend.RTLTunneling.html">RTLTunneling</A><BR> + </TD> + <TD><A HREF="html/compcert.backend.RTLTunnelingproof.html">RTLTunnelingproof</A><BR> + </TD> +</TR> + <TR valign="top"> - <TD>Removal of unused static globals</TD> + <TD>Postorder renumbering of the CFG (6)</TD> <TD>RTL to RTL</TD> - <TD><A HREF="html/compcert.backend.Unusedglob.html">Unusedglob</A></TD> - <TD><A HREF="html/compcert.backend.Unusedglobproof.html">Unusedglobproof</A></TD> + <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" style="color:#000000"> - <TD colspan="4"><b>Passes introduced for profiling (for later use in trace selection)</b></TD> -</TR> + <TD colspan="4"><b>[Duplicate pass] Loop Rotate</b></TD> <TR valign="top" style="color:#000000"> - <TD>Insert profiling annotations (for recording experiments -- see PROFILE.md). + <TD>Loop rotation </TD> <TD>RTL to RTL</TD> - <TD><A HREF="html/compcert.backend.Profiling.html">Profiling</A></TD> - <TD><A HREF="html/compcert.backend.Profilingproof.html">Profilingproof</A></TD> + <TD><A HREF="html/compcert.backend.Duplicate.html">Duplicate</A> (generic checker)</TD> + <TD><A HREF="html/compcert.backend.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"> + <TD>Postorder renumbering of the CFG (7)</TD> + <TD>RTL to RTL</TD> + <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" style="color:#000000"> - <TD>Update ICond nodes (from recorded experiments -- see PROFILE.md). + <TD>Loop Invariant Code Motion </TD> <TD>RTL to RTL</TD> - <TD><A HREF="html/compcert.backend.ProfilingExploit.html">ProfilingExploit</A></TD> - <TD><A HREF="html/compcert.backend.ProfilingExploitproof.html">ProfilingExploitproof</A></TD> + <TD><A HREF="html/compcert.backend.LICM.html">LICM</A></TD> + <TD><A HREF="html/compcert.backend.LICMproof.html">LICMproof</A> + </TD> </TR> + +<TR valign="top"> + <TD>Postorder renumbering of the CFG (8)</TD> + <TD>RTL to RTL</TD> + <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" style="color:#000000"> - <TD colspan="4"><b>Passes introduced for superblock prepass scheduling</b></TD> + <TD>[CSE3] Common subexpression elimination (2)</TD> + <TD>RTL to RTL</TD> + <TD><A HREF="html/compcert.backend.CSE3.html">CSE3</A><BR> + </TD> + <TD><A HREF="html/compcert.backend.CSE3proof.html">CSE3proof</A><BR> + </TD> +</TR> + +<TR valign="top"> + <TD>Redundancy elimination (2)</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" style="color:#000000"> - <TD>Code duplications (trace selection, loop unrollings, etc) + <TD>Allnontrap: transforming loads to non-trapping ones</TD> + <TD>RTL to RTL</TD> + <TD><A HREF="html/compcert.backend.Allnontrap.html">Allnontrap</A><BR> </TD> + <TD><A HREF="html/compcert.backend.Allnontrapproof.html">Allnontrapproof</A><BR> + </TD> +</TR> + +<TR valign="top"> + <TD>Removal of unused static globals</TD> <TD>RTL to RTL</TD> - <TD><A HREF="html/compcert.backend.Duplicate.html">Duplicate</A> (generic checker)</TD> - <TD><A HREF="html/compcert.backend.Duplicateproof.html">Duplicateproof</A> (generic proof)<BR> - <a href="html/compcert.backend.Duplicatepasses.html">Duplicatepasses</a> (several passes from several oracles)</TD> + <TD><A HREF="html/compcert.backend.Unusedglob.html">Unusedglob</A></TD> + <TD><A HREF="html/compcert.backend.Unusedglobproof.html">Unusedglobproof</A></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> + <TD colspan="4"><b>Passes introduced for BTL</b></TD> +</TR> +<TR valign="top" style="color:#000000"> + <TD>Block selection (with Liveness information)</TD> + <TD>RTL to BTL</TD> + <TD><A HREF="html/compcert.scheduling.RTLtoBTL.html">RTLtoBTL</A></TD> + <TD><A HREF="html/compcert.scheduling.RTLtoBTLproof.html">RTLtoBTLproof</A><BR> + <A HREF="html/compcert.scheduling.BTLmatchRTL.html">BTLmatchRTL</A><BR> + <A HREF="html/compcert.scheduling.BTL_Livecheck.html">BTL_Livecheck</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> + <TD>BTL to BTL</TD> + <TD><A HREF="html/compcert.scheduling.BTL_Scheduler.html">BTL_Scheduler</A></TD> + <TD><A HREF="html/compcert.scheduling.BTL_Schedulerproof.html">BTL_Schedulerproof</A><BR> + with <A HREF="html/compcert.scheduling.BTL_SEtheory.html">BTL_SEtheory</A> (the theory of symbolic execution on BTL_)<BR> + and <A HREF="html/compcert.scheduling.BTL_SEsimuref.html">BTL_SEsimuref</A> (the low-level specifications of the simulation checker)<BR> + and <A HREF="html/compcert.scheduling.BTL_SEimpl.html">BTL_SEimpl</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> + <TD>Forgeting blocks</TD> + <TD>BTL to RTL</TD> + <TD><A HREF="html/compcert.scheduling.BTLtoRTL.html">BTLtoRTL</A></TD> + <TD><A HREF="html/compcert.scheduling.BTLtoRTLproof.html">BTLtoRTLproof</A><BR> + <A HREF="html/compcert.scheduling.BTLmatchRTL.html">BTLmatchRTL</A> + </TD> </TR> <TR valign="top"> @@ -442,7 +630,7 @@ Specific to KVX: </TR> <TR valign="top" style="color:#000000"> - <TD colspan="4"><b>Passes introduced for KVX VLIW</b></TD> + <TD colspan="4"><b>Passes introduced for backends with postpass scheduling</b></TD> </TR> <TR valign="top" style="color:#000000"> <TD>Reconstruction of basic-blocks at Mach level</TD> @@ -467,7 +655,8 @@ Specific to KVX: <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> + <TD><A HREF="html/compcert.kvx.PostpassSchedulingproof.html"><I>PostpassSchedulingproof</I></A><BR> + <A HREF="html/compcert.kvx.Asmblockprops.html"><I>Asmblockprops</I></A></TD> </TR> <TR valign="top" style="color:#000000"> |