From 6ed58d0f7a800b3ce1ca815b7b348a9cbf7af0eb Mon Sep 17 00:00:00 2001 From: Léo Gourdin Date: Mon, 6 Dec 2021 18:51:59 +0100 Subject: update the README and INSTALL documents --- README.md | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 88e37055..4912eb3d 100644 --- a/README.md +++ b/README.md @@ -17,12 +17,22 @@ refer to the [Web site](https://compcert.org/) and especially the [user's manual](https://compcert.org/man/). ## Verimag-Kalray version + This is a special version with additions from Verimag and Kalray : -* A backend for the KVX processor: see [`README_Kalray.md`](README_Kalray.md) for details. -* Scheduling passes for ARMv8 (aarch64) and RISC-V. -* Some general-purpose optimization phases (e.g. profiling). - * see [`PROFILING.md`](PROFILING.md) for details on the profiling system +* A backend for the Coolidge VLIW KVX processor. +* Postpass scheduling passes for KVX, ARMv8 (aarch64) and RISC-V along with a + preprocessing peephole optimizer. +* Improved subexpression elimination: two passes CSE2 and CSE3. Both go through + loops and feature a small alias analysis. +* A generic prepass scheduling optimizer with a multi-purpose preprocessing + front-end: rewritings, register renaming, if-lifting and some generic code + transformations such as loop-rotation, loop-unrolling, or tail-duplication. +* A profiling system: see [`PROFILING.md`](PROFILING.md) for details. +* Static branch prediction. +* And some experimental features that are work in progress. + +_Please refer to the resources listed below for more information._ The people responsible for this version are @@ -36,17 +46,22 @@ with contributions of: * Justus Fasse (M2R UGA, now at KU Leuven). * Pierre Goutagny and Nicolas Nardino (L3 ENS-Lyon). +## Installing + +Please follow the instructions in `INSTALL.md` + ## Papers, docs, etc on this CompCert version -* [a 5-minutes video](http://www-verimag.imag.fr/~boulme/videos/poster-oopsla20.mp4) by C. Six, presenting the postpass scheduling and the KVX backend +* [The documentation of the KVX backend Coq sources](https://certicompil.gricad-pages.univ-grenoble-alpes.fr/compcert-kvx). +* [A 5-minutes video](http://www-verimag.imag.fr/~boulme/videos/poster-oopsla20.mp4) by C. Six, presenting the postpass scheduling and the KVX backend (also on [YouTube if you need subtitles](https://www.youtube.com/watch?v=RAzMDS9OVSw)). -* [the documentation of the KVX backend Coq sources](https://certicompil.gricad-pages.univ-grenoble-alpes.fr/compcert-kvx). * [Certified and Efficient Instruction Scheduling](https://hal.archives-ouvertes.fr/hal-02185883), an OOPSLA'20 paper, by Six, Boulmé and Monniaux. * [Formally Verified Superblock Scheduling](https://hal.archives-ouvertes.fr/hal-03200774), a CPP'22 paper, by Six, Gourdin, Boulmé, Monniaux, Fasse and Nardino. * [Optimized and formally-verified compilation for a VLIW processor](https://hal.archives-ouvertes.fr/tel-03326923), Phd Thesis of Cyril Six in 2021. * [Formally Verified Defensive Programming (efficient Coq-verified computations from untrusted ML oracles) -- Chapters 1 to 3](https://hal.archives-ouvertes.fr/tel-03356701), Habilitation Thesis of Sylvain Boulmé in 2021. * [Code Transformations to Increase Prepass Scheduling Opportunities in CompCert](https://www-verimag.imag.fr/~boulme/CPP_2022/FASSE-Justus-MSc-Thesis_2021.pdf), MSc Thesis of Justus Fasse in 2021. * [Register-Pressure-Aware Prepass-Scheduling for CompCert](https://www-verimag.imag.fr/~boulme/CPP_2022/NARDINO-Nicolas-BSc-Thesis_2021.pdf), BSc Thesis of Nicolas Nardino in 2021. +* [Formally verified postpass scheduling with peephole optimization for AArch64](https://www.lirmm.fr/afadl2021/papers/afadl2021_paper_9.pdf), a short AFADL'21 paper, by Gourdin. ## License CompCert is not free software. This non-commercial release can only -- cgit