Loops in programs are the source of many optimizations for improv-ing program performance, particularly on modern high-performance architec-tures as well as vector and multithreaded systems. Techniques such as loop in-variant code motion, loop unrolling and loop peeling have demonstrated their utility in compiler optimizations. However, many of these techniques can only be used in very limited cases when the loops are “well-structured ” and easy to analyze. For instance, loop invariant code motion works only when invariant code is inside loops; loop unrolling and loop peeling work effectively when the array references are either constants or affine functions of index variable. It is our contention that there are many opportunities overlooke...
International audienceIncreasingly complex hardware makes the design of effective compilers difficul...
The evolution of computer hardware in the past decades has truly been remarkable. From scalar instru...
International audienceSoftware pipelining is a powerful technique to expose fine-grain parallelism, ...
We introduce Approximate Unrolling, a loop optimization that reduces execution time and energy consu...
The development of embedded applications typically faces memory and/or execution time con-straints. ...
It is well-known that, to optimize a program for speed-up, efforts should be focused on the regions ...
Over the past 20 years, increases in processor speed have dramatically outstripped performance incre...
Multithreading is attractive in that it can tolerate latency and synchronization, which are the two ...
Abstract. Optimizing compilers have a long history of applying loop transformations to C and Fortran...
Abstract. Optimizing compilers have a long history of applying loop transformations to C and Fortran...
International audienceWe present an approach for implementing a formally certified loop-invariant co...
This work was also published as a Rice University thesis/dissertation: http://hdl.handle.net/1911/18...
We wish to extend the effectiveness of loop-restructuring compilers by improving the robustness of l...
Loop optimizations such as loop unrolling, unfolding and invariant, code motion have long been used ...
In this lecture we consider loop transformations that can be used for cache optimization. The transf...
International audienceIncreasingly complex hardware makes the design of effective compilers difficul...
The evolution of computer hardware in the past decades has truly been remarkable. From scalar instru...
International audienceSoftware pipelining is a powerful technique to expose fine-grain parallelism, ...
We introduce Approximate Unrolling, a loop optimization that reduces execution time and energy consu...
The development of embedded applications typically faces memory and/or execution time con-straints. ...
It is well-known that, to optimize a program for speed-up, efforts should be focused on the regions ...
Over the past 20 years, increases in processor speed have dramatically outstripped performance incre...
Multithreading is attractive in that it can tolerate latency and synchronization, which are the two ...
Abstract. Optimizing compilers have a long history of applying loop transformations to C and Fortran...
Abstract. Optimizing compilers have a long history of applying loop transformations to C and Fortran...
International audienceWe present an approach for implementing a formally certified loop-invariant co...
This work was also published as a Rice University thesis/dissertation: http://hdl.handle.net/1911/18...
We wish to extend the effectiveness of loop-restructuring compilers by improving the robustness of l...
Loop optimizations such as loop unrolling, unfolding and invariant, code motion have long been used ...
In this lecture we consider loop transformations that can be used for cache optimization. The transf...
International audienceIncreasingly complex hardware makes the design of effective compilers difficul...
The evolution of computer hardware in the past decades has truly been remarkable. From scalar instru...
International audienceSoftware pipelining is a powerful technique to expose fine-grain parallelism, ...