International audienceWe 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
We introduce Approximate Unrolling, a loop optimization that reduces execution time and energy consu...
Programs that are not loop intensive and which have small basic blocks present a challenge to archit...
An implementation-oriented algorithm for lazy code motion is presented that minimizes the number of ...
International audienceWe present an approach for implementing a formally certified loop-invariant co...
Loops in programs are the source of many optimizations for improv-ing program performance, particula...
Formal program verification offers strong assurance of cor-rectness, backed by the strength of mathe...
this paper, we emphasize the practicality of lazy code motion by giving explicit directions for its ...
Translation validation is a technique that verifies the re-sults of every run of a translator, such ...
This paper is concerned with optimizing code execution in virtual machine environments. Code motion ...
Abstract. In this article, we describe a framework for formally verify-ing the correctness of compil...
We use Kleene algebra with tests to verify a wide assortment of common compiler optimizations, inclu...
We describe a technique for automatically proving compiler optimizations sound, meaning that their t...
Acceleration is a technique for summarising loops by computing a closed-form representation of the l...
Abstract—Acceleration is a technique for summarising loops by computing a closed-form representation...
We implement strength reduction and loop-invariant code motion by specializing instrumented interpre...
We introduce Approximate Unrolling, a loop optimization that reduces execution time and energy consu...
Programs that are not loop intensive and which have small basic blocks present a challenge to archit...
An implementation-oriented algorithm for lazy code motion is presented that minimizes the number of ...
International audienceWe present an approach for implementing a formally certified loop-invariant co...
Loops in programs are the source of many optimizations for improv-ing program performance, particula...
Formal program verification offers strong assurance of cor-rectness, backed by the strength of mathe...
this paper, we emphasize the practicality of lazy code motion by giving explicit directions for its ...
Translation validation is a technique that verifies the re-sults of every run of a translator, such ...
This paper is concerned with optimizing code execution in virtual machine environments. Code motion ...
Abstract. In this article, we describe a framework for formally verify-ing the correctness of compil...
We use Kleene algebra with tests to verify a wide assortment of common compiler optimizations, inclu...
We describe a technique for automatically proving compiler optimizations sound, meaning that their t...
Acceleration is a technique for summarising loops by computing a closed-form representation of the l...
Abstract—Acceleration is a technique for summarising loops by computing a closed-form representation...
We implement strength reduction and loop-invariant code motion by specializing instrumented interpre...
We introduce Approximate Unrolling, a loop optimization that reduces execution time and energy consu...
Programs that are not loop intensive and which have small basic blocks present a challenge to archit...
An implementation-oriented algorithm for lazy code motion is presented that minimizes the number of ...