Compilers should not miscompile. Our work addresses problems in developing peephole optimizations that perform local rewriting to improve the efficiency of LLVM code. These optimizations are individually difficult to get right, particularly in the presence of un-defined behavior; taken together they represent a persistent source of bugs. This paper presents Alive, a domain-specific language for writing optimizations and for automatically either proving them cor-rect or else generating counterexamples. Furthermore, Alive can be automatically translated into C++ code that is suitable for inclu-sion in an LLVM optimization pass. Alive is based on an attempt to balance usability and formal methods; for example, it captures— but largely hides—th...
Formal program verification offers strong assurance of cor-rectness, backed by the strength of mathe...
Many portable compilers generate an intermediate code that is subsequently translated into the targe...
We implement strength reduction and loop-invariant code motion by specializing instrumented interpre...
Modern compilers perform extensive transformation of code in order to optimize run- ning time and bi...
Peephole optimizations optimize and canonicalize code to enable other optimizations but are error-pr...
One of the important feature of application specific processors is performance. To maximize it, the ...
We describe a technique for automatically proving compiler optimizations sound, meaning that their t...
© 2018 Copyright held by the owner/author(s).Production compilers such as GCC and LLVM are large com...
Abstract. Writing performance-critical programs can be frustrating because optimizing compilers for ...
© 2021, The Author(s).Several automatic verification tools have been recently developed to verify su...
Compilers perform a static analysis of a program prior to optimization. The precision of this analys...
© 2021 ACM.We designed, implemented, and deployed Alive2: a bounded translation validation tool for ...
As part of the Platform-Aware Compilation Environment (PACE) Project1, Operator Strength Reduction (...
In their pursuit of faster code, compilers invoke increasingly more complex optimizations. Along wit...
Many portable compilers generate an intermediate code that is subsequently translated into the targe...
Formal program verification offers strong assurance of cor-rectness, backed by the strength of mathe...
Many portable compilers generate an intermediate code that is subsequently translated into the targe...
We implement strength reduction and loop-invariant code motion by specializing instrumented interpre...
Modern compilers perform extensive transformation of code in order to optimize run- ning time and bi...
Peephole optimizations optimize and canonicalize code to enable other optimizations but are error-pr...
One of the important feature of application specific processors is performance. To maximize it, the ...
We describe a technique for automatically proving compiler optimizations sound, meaning that their t...
© 2018 Copyright held by the owner/author(s).Production compilers such as GCC and LLVM are large com...
Abstract. Writing performance-critical programs can be frustrating because optimizing compilers for ...
© 2021, The Author(s).Several automatic verification tools have been recently developed to verify su...
Compilers perform a static analysis of a program prior to optimization. The precision of this analys...
© 2021 ACM.We designed, implemented, and deployed Alive2: a bounded translation validation tool for ...
As part of the Platform-Aware Compilation Environment (PACE) Project1, Operator Strength Reduction (...
In their pursuit of faster code, compilers invoke increasingly more complex optimizations. Along wit...
Many portable compilers generate an intermediate code that is subsequently translated into the targe...
Formal program verification offers strong assurance of cor-rectness, backed by the strength of mathe...
Many portable compilers generate an intermediate code that is subsequently translated into the targe...
We implement strength reduction and loop-invariant code motion by specializing instrumented interpre...