Modern compilers perform extensive transformation of code in order to optimize run- ning time and binary code size. These occur in multiple passes, including translations between representations at different levels of abstraction and transformations which re- structure code within a particular representation. Of particular interest are optimiza- tions that operate on a compiler’s intermediate representation (IR), as these can be shared across programming languages and hardware architectures. One such optimiza- tion pass is LLVM’s peephole optimizer, which is a suite of hundreds of small algebraic transformations which simplify code and perform canonicalization. Performing these transformations not only results in faster software, but simpli...
Current compilers fail to deliver satisfactory levels of performance on modern processors, due to ra...
Many portable compilers generate an intermediate code that is subsequently translated into the targe...
The classical meaning of superoptimization is to find the optimal code sequence for a single, loop-f...
Compilers should not miscompile. Our work addresses problems in developing peephole optimizations th...
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 ...
AbstractA compiler optimization is sound if the optimized program that it produces is semantically e...
Compilers are not always correct due to the complexity of language semantics and transformation algo...
Compilers are not always correct due to the complexity of language semantics and transformation algo...
Compilers perform a static analysis of a program prior to optimization. The precision of this analys...
As part of the Platform-Aware Compilation Environment (PACE) Project1, Operator Strength Reduction (...
Abstract. Writing performance-critical programs can be frustrating because optimizing compilers for ...
Many portable compilers generate an intermediate code that is subsequently translated into the targe...
This paper describes an approach to program optimisation based on transformations, where temporal lo...
We describe a technique for automatically proving compiler optimizations sound, meaning that their t...
Current compilers fail to deliver satisfactory levels of performance on modern processors, due to ra...
Many portable compilers generate an intermediate code that is subsequently translated into the targe...
The classical meaning of superoptimization is to find the optimal code sequence for a single, loop-f...
Compilers should not miscompile. Our work addresses problems in developing peephole optimizations th...
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 ...
AbstractA compiler optimization is sound if the optimized program that it produces is semantically e...
Compilers are not always correct due to the complexity of language semantics and transformation algo...
Compilers are not always correct due to the complexity of language semantics and transformation algo...
Compilers perform a static analysis of a program prior to optimization. The precision of this analys...
As part of the Platform-Aware Compilation Environment (PACE) Project1, Operator Strength Reduction (...
Abstract. Writing performance-critical programs can be frustrating because optimizing compilers for ...
Many portable compilers generate an intermediate code that is subsequently translated into the targe...
This paper describes an approach to program optimisation based on transformations, where temporal lo...
We describe a technique for automatically proving compiler optimizations sound, meaning that their t...
Current compilers fail to deliver satisfactory levels of performance on modern processors, due to ra...
Many portable compilers generate an intermediate code that is subsequently translated into the targe...
The classical meaning of superoptimization is to find the optimal code sequence for a single, loop-f...