From 695c9ee5c2570f61f68e94d0595e40cb082cc6a3 Mon Sep 17 00:00:00 2001 From: Sylvain Boulmé Date: Wed, 16 Dec 2020 17:39:41 +0100 Subject: add superblock-scheduling passes in the coqhtml --- doc/index-kvx.html | 87 ++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 62 insertions(+), 25 deletions(-) (limited to 'doc') 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.

Languages introduced for KVX core

-

Compiler passes

+

Compiler passes

- - - - + + + + @@ -221,16 +223,6 @@ This IR is generic over the processor, even if currently, only used for KVX. - - - - - - - - @@ -240,13 +232,20 @@ This IR is generic over the processor, even if currently, only used for KVX. CombineOpproof + + + + + + - @@ -254,6 +253,43 @@ This IR is generic over the processor, even if currently, only used for KVX. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -298,11 +334,11 @@ This IR is generic over the processor, even if currently, only used for KVX. -
PassSource & targetCompiler codeCorrectness proofPassSource & targetCompiler codeCorrectness proof
Renumber Renumberproof
Constant propagationRTL to RTLConstprop
- ConstpropOp
Constpropproof
- ConstproppOproof
Common subexpression elimination RTL to RTL
Constant propagationRTL to RTLConstprop
+ ConstpropOp
Constpropproof
+ ConstproppOproof
Redundancy elimination RTL to RTL Deadcode Deadcodeproof
Removal of unused static globals RTL to RTLUnusedglobproof
Passes introduced for superblock prepass scheduling
Code duplications (trace selection, loop unrollings, etc) + RTL to RTLDuplicate (generic checker)Duplicateproof (generic proof)
+ Duplicatepasses (several passes from several oracles)
Superblock selection (with Liveness information)RTL to RTLPathRTLpathLivegenRTLpathLivegenproof
Superblock prepass schedulingRTLPath to RTLPathRTLpathSchedulerRTLpathSchedulerproof
+ with RTLpathSE_theory (the theory of symbolic execution on RTLpath)
+ and RTLpathSE_simu_specs (the low-level specifications of the simulation checker)
+ and RTLpathSE_impl (the simulation checker with hash-consing)
Forgeting superblocksRTLPath to RTLRTLpath.transf_programRTLpathproof
Passes from register allocation
Register allocation (validation a posteriori) RTL to LTLStackingproof
Separation
-

Compilation passes introduced for KVX VLIW

- - + + + + @@ -310,7 +346,7 @@ This IR is generic over the processor, even if currently, only used for KVX. Machblockgenproof - + @@ -319,15 +355,16 @@ This IR is generic over the processor, even if currently, only used for KVX. Asmblockgenproof - + - + - + -- cgit
Passes introduced for KVX VLIW
Reconstruction of basic-blocks at Mach level Mach to Machblock Machblockgen
Emission of purely sequential assembly code Machblock to Asmblock Asmblockgen
Bundling (and basic-block scheduling) Asmblock to AsmvliwPostpassScheduling using
- Asmblockdeps and the abstractbb library
PostpassScheduling
+ using Asmblockdeps
+ and the abstractbb library
PostpassSchedulingproof
Flattening bundles (only a bureaucratic operation) Asmvliw to Asm Asmgen