aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorSylvain Boulmé <sylvain.boulme@univ-grenoble-alpes.fr>2020-12-16 17:39:41 +0100
committerSylvain Boulmé <sylvain.boulme@univ-grenoble-alpes.fr>2020-12-16 17:39:41 +0100
commit695c9ee5c2570f61f68e94d0595e40cb082cc6a3 (patch)
tree9f6716b339e9a5f61a4bb6db7d9c45fa66467c14 /doc
parentaff083950e663c3f23d63de9c4e2129bb03bacad (diff)
downloadcompcert-kvx-695c9ee5c2570f61f68e94d0595e40cb082cc6a3.tar.gz
compcert-kvx-695c9ee5c2570f61f68e94d0595e40cb082cc6a3.zip
add superblock-scheduling passes in the coqhtml
Diffstat (limited to 'doc')
-rw-r--r--doc/index-kvx.html87
1 files changed, 62 insertions, 25 deletions
diff --git a/doc/index-kvx.html b/doc/index-kvx.html
index 4e2e0b47..39fdf799 100644
--- a/doc/index-kvx.html
+++ b/doc/index-kvx.html
@@ -128,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.
@@ -136,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 &amp; target</TH>
- <TH>Compiler&nbsp;code</TH>
- <TH>Correctness&nbsp;proof</TH>
+ <TH align=left>Pass</TH>
+ <TH align=left>Source &amp; target</TH>
+ <TH align=left>Compiler&nbsp;code</TH>
+ <TH align=left>Correctness&nbsp;proof</TH>
</TR>
<TR valign="top">
@@ -221,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>
@@ -241,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>
@@ -254,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>
@@ -298,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>
@@ -310,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>
@@ -319,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>