Simple, Light, Yet Formally Verified, Global Common Subexpression Elimination and Loop-Invariant Code Motion

05/04/2021
by   David Monniaux, et al.
0

We present an approach for implementing a formally certified loop-invariant code motion optimization by composing an unrolling pass and a formally certified yet efficient global subexpression elimination.This approach is lightweight: each pass comes with a simple and independent proof of correctness.Experiments show the approach significantly narrows the performance gap between the CompCert certified compiler and state-of-the-art optimizing compilers.Our static analysis employs an efficient yet verified hashed set structure, resulting in fast compilation.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/20/2019

Partial Redundancy Elimination using Lazy Code Motion

Partial Redundancy Elimination (PRE) is a compiler optimization that eli...
research
01/25/2022

The Trusted Computing Base of the CompCert Verified Compiler

CompCert is the first realistic formally verified compiler: it provides ...
research
11/21/2020

lospre in linear time

Lifetime-optimal speculative partial redundancy elimination (lospre) is ...
research
11/01/2018

Loop Optimization Framework

The LLVM compiler framework supports a selection of loop transformations...
research
06/21/2023

Coqlex: Generating Formally Verified Lexers

A compiler consists of a sequence of phases going from lexical analysis ...
research
12/06/2022

Formally Verified Native Code Generation in an Effectful JIT – or: Turning the CompCert Backend into a Formally Verified JIT Compiler

Modern Just-in-Time compilers (or JITs) typically interleave several mec...
research
08/28/2007

Formally Verified Argument Reduction with a Fused-Multiply-Add

Cody & Waite argument reduction technique works perfectly for reasonably...

Please sign up or login with your details

Forgot password? Click here to reset