From b4a08d0815342b6238d307864f0823d0f07bb691 Mon Sep 17 00:00:00 2001 From: David Monniaux Date: Tue, 26 May 2020 22:04:20 +0200 Subject: k1c -> kvx changes --- doc/index-kvx.html | 362 ++++++++++++++++++++++++++++++++++++++++++++++++ doc/index-mppa_k1c.html | 362 ------------------------------------------------ 2 files changed, 362 insertions(+), 362 deletions(-) create mode 100644 doc/index-kvx.html delete mode 100644 doc/index-mppa_k1c.html (limited to 'doc') diff --git a/doc/index-kvx.html b/doc/index-kvx.html new file mode 100644 index 00000000..ae01d2d6 --- /dev/null +++ b/doc/index-kvx.html @@ -0,0 +1,362 @@ + + + +The CompCert verified compiler + + + + + + + +

The CompCert verified compiler

+

Commented Coq development

+

Version 3.7, 2020-03-31

+

PATCHED for the Kalray MPPA-KVX VLIW CORE

+ +

Introduction

+ +

This web page is a patched version of the table of contents of the official CompCert documentation, + as given on the CompCert Web site. + The unmodified parts of this table appear in gray. + + +

Table of contents

+ +

General-purpose libraries, data structures and algorithms

+ +
+ +

The abstractbb library, introduced for MPPA-KVX

+ + + +

Definitions and theorems used in many parts of the development

+ + + +

Source, intermediate and target languages: syntax and semantics

+ + +
+

Languages introduced for MPPA-KVX

+ + +

Compiler passes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PassSource & targetCompiler codeCorrectness proof
Pulling side-effects out of expressions;
+ fixing an evaluation order
CompCert C to ClightSimplExprSimplExprspec
+ SimplExprproof
Pulling non-adressable scalar local variables out of memoryClight to ClightSimplLocalsSimplLocalsproof
Simplification of control structures;
+ explication of type-dependent computations
Clight to CsharpminorCshmgenCshmgenproof
Stack allocation of local variables
+ whose address is taken;
+ simplification of switch statements
Csharpminor to CminorCminorgenCminorgenproof
Recognition of operators
and addressing modes
Cminor to CminorSelSelection
+ SelectOp
+ SelectLong
+ SelectDiv
+ SplitLong
Selectionproof
+ SelectOpproof
+ SelectLongproof
+ SelectDivproof
+ SplitLongproof
Construction of the CFG,
3-address code generation
CminorSel to RTLRTLgenRTLgenspec
+ RTLgenproof
Recognition of tail callsRTL to RTLTailcallTailcallproof
Function inliningRTL to RTLInliningInliningspec
+ Inliningproof
Postorder renumbering of the CFGRTL to RTLRenumberRenumberproof
Constant propagationRTL to RTLConstprop
+ ConstpropOp
Constpropproof
+ ConstproppOproof
Common subexpression eliminationRTL to RTLCSE
+ CombineOp
CSEproof
+ CombineOpproof
Redundancy eliminationRTL to RTLDeadcodeDeadcodeproof
Removal of unused static globalsRTL to RTLUnusedglobUnusedglobproof
Register allocation (validation a posteriori)RTL to LTLAllocationAllocproof
Branch tunnelingLTL to LTLTunnelingTunnelingproof
Linearization of the CFGLTL to LinearLinearizeLinearizeproof
Removal of unreferenced labelsLinear to LinearCleanupLabelsCleanupLabelsproof
Synthesis of debugging informationLinear to LinearDebugvarDebugvarproof
Laying out the activation recordsLinear to MachStacking
+ Bounds
+ Stacklayout
Stackingproof
+ Separation
+ +

Compilation passes introduced for MPPA-KVX

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Reconstruction of basic-blocks at Mach levelMach to MachblockMachblockgenForwardSimulationBlock
+ Machblockgenproof
Emission of purely sequential assembly codeMachblock to AsmblockAsmblockgenAsmblockgenproof0
+ Asmblockgenproof1
+ Asmblockgenproof
Bundling (and basic-block scheduling)Asmblock to AsmvliwPostpassScheduling using
+ Asmblockdeps and the abstractbb library
PostpassSchedulingproof
Flattening bundles (only a bureaucratic operation)Asmvliw to AsmAsmgenAsmgenproof
+ + +

All together

+ + + +

Static analyses

+ +The following static analyses are performed over the RTL intermediate +representation to support optimizations such as constant propagation, +CSE, and dead code elimination. + + +

Type systems

+ +The type system of CompCert C is fully formalized. For some intermediate languages of the back-end, simpler type systems are used to statically capture well-formedness conditions. + +
+ + + diff --git a/doc/index-mppa_k1c.html b/doc/index-mppa_k1c.html deleted file mode 100644 index 86fd4166..00000000 --- a/doc/index-mppa_k1c.html +++ /dev/null @@ -1,362 +0,0 @@ - - - -The CompCert verified compiler - - - - - - - -

The CompCert verified compiler

-

Commented Coq development

-

Version 3.7, 2020-03-31

-

PATCHED for the Kalray MPPA-K1C VLIW CORE

- -

Introduction

- -

This web page is a patched version of the table of contents of the official CompCert documentation, - as given on the CompCert Web site. - The unmodified parts of this table appear in gray. - - -

Table of contents

- -

General-purpose libraries, data structures and algorithms

- -
- -

The abstractbb library, introduced for MPPA-K1C

- - - -

Definitions and theorems used in many parts of the development

- - - -

Source, intermediate and target languages: syntax and semantics

- - -
-

Languages introduced for MPPA-K1C

- - -

Compiler passes

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PassSource & targetCompiler codeCorrectness proof
Pulling side-effects out of expressions;
- fixing an evaluation order
CompCert C to ClightSimplExprSimplExprspec
- SimplExprproof
Pulling non-adressable scalar local variables out of memoryClight to ClightSimplLocalsSimplLocalsproof
Simplification of control structures;
- explication of type-dependent computations
Clight to CsharpminorCshmgenCshmgenproof
Stack allocation of local variables
- whose address is taken;
- simplification of switch statements
Csharpminor to CminorCminorgenCminorgenproof
Recognition of operators
and addressing modes
Cminor to CminorSelSelection
- SelectOp
- SelectLong
- SelectDiv
- SplitLong
Selectionproof
- SelectOpproof
- SelectLongproof
- SelectDivproof
- SplitLongproof
Construction of the CFG,
3-address code generation
CminorSel to RTLRTLgenRTLgenspec
- RTLgenproof
Recognition of tail callsRTL to RTLTailcallTailcallproof
Function inliningRTL to RTLInliningInliningspec
- Inliningproof
Postorder renumbering of the CFGRTL to RTLRenumberRenumberproof
Constant propagationRTL to RTLConstprop
- ConstpropOp
Constpropproof
- ConstproppOproof
Common subexpression eliminationRTL to RTLCSE
- CombineOp
CSEproof
- CombineOpproof
Redundancy eliminationRTL to RTLDeadcodeDeadcodeproof
Removal of unused static globalsRTL to RTLUnusedglobUnusedglobproof
Register allocation (validation a posteriori)RTL to LTLAllocationAllocproof
Branch tunnelingLTL to LTLTunnelingTunnelingproof
Linearization of the CFGLTL to LinearLinearizeLinearizeproof
Removal of unreferenced labelsLinear to LinearCleanupLabelsCleanupLabelsproof
Synthesis of debugging informationLinear to LinearDebugvarDebugvarproof
Laying out the activation recordsLinear to MachStacking
- Bounds
- Stacklayout
Stackingproof
- Separation
- -

Compilation passes introduced for MPPA-K1C

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Reconstruction of basic-blocks at Mach levelMach to MachblockMachblockgenForwardSimulationBlock
- Machblockgenproof
Emission of purely sequential assembly codeMachblock to AsmblockAsmblockgenAsmblockgenproof0
- Asmblockgenproof1
- Asmblockgenproof
Bundling (and basic-block scheduling)Asmblock to AsmvliwPostpassScheduling using
- Asmblockdeps and the abstractbb library
PostpassSchedulingproof
Flattening bundles (only a bureaucratic operation)Asmvliw to AsmAsmgenAsmgenproof
- - -

All together

- - - -

Static analyses

- -The following static analyses are performed over the RTL intermediate -representation to support optimizations such as constant propagation, -CSE, and dead code elimination. - - -

Type systems

- -The type system of CompCert C is fully formalized. For some intermediate languages of the back-end, simpler type systems are used to statically capture well-formedness conditions. - -
- - - -- cgit