aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2021-12-07 11:49:31 +0100
committerLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2021-12-07 11:49:31 +0100
commit2ed836d9fd798c17b0858468bda07bfa70dc9e43 (patch)
treea9a6bf7d36707d18e7967e7be3bfe8e871d397c9 /doc
parentdac0aadbb00447f4bbfe40586d32ccffe6703222 (diff)
downloadcompcert-kvx-2ed836d9fd798c17b0858468bda07bfa70dc9e43.tar.gz
compcert-kvx-2ed836d9fd798c17b0858468bda07bfa70dc9e43.zip
doc
Diffstat (limited to 'doc')
-rw-r--r--doc/index-verimag.html263
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">