We advocate using performance bounds to guide code optimizations. Accurate performance bounds establish an efficient way to evaluate benefits as well as overheads of code transformations without actually performing instruction scheduling. In this paper, we introduce a novel bound-guided approach to systematically regulate code size related instruction level parallelism (ILP) optimizations including tail duplication, loop unrolling and if-conversion. Our approach is based on the notion of code size efficiency, which is defined as the ratio of ILP improvement over code size increase. With such a notion, we can 1) develop a general approach to selectively perform optimizations to maximize the ILP improvement while minimizing the cost in code s...
PhD ThesisCurrent microprocessors improve performance by exploiting instruction-level parallelism (I...
Journal PaperCurrent microprocessors incorporate techniques to exploit instruction-level parallelism...
Software prefetching and locality optimizations are techniques for overcoming the gap between proces...
Performance bounds represent the best achievable performance that can be delivered by target microar...
In global scheduling for ILP processors, regionenlarging optimizations, especially tail duplication,...
Software pipelining is an effective technique to reduce cycle count by exploiting instruction level ...
. Code optimizations and restructuring transformations are typically applied before scheduling to im...
The advent of data proliferation and electronic devices gets low execution time and energy consumpti...
To achieve high-performance on processors featuring ILP, most compilers apply locally a set of heuri...
Abstract-In an embedded system, the cost of storing a program on-chip can be as high as the cost of ...
Instruction scheduling and Software pipelining are important compilation techniques which reorder in...
Current microprocessors improve performance by exploiting instruction-level parallelism (ILP). ILP h...
Effective global instruction scheduling techniques have become an important component in modern comp...
International audience— Nested loops present the most critical sections in several embedded real-tim...
International audienceA summary of more than a decade of research in the area of backend code optimi...
PhD ThesisCurrent microprocessors improve performance by exploiting instruction-level parallelism (I...
Journal PaperCurrent microprocessors incorporate techniques to exploit instruction-level parallelism...
Software prefetching and locality optimizations are techniques for overcoming the gap between proces...
Performance bounds represent the best achievable performance that can be delivered by target microar...
In global scheduling for ILP processors, regionenlarging optimizations, especially tail duplication,...
Software pipelining is an effective technique to reduce cycle count by exploiting instruction level ...
. Code optimizations and restructuring transformations are typically applied before scheduling to im...
The advent of data proliferation and electronic devices gets low execution time and energy consumpti...
To achieve high-performance on processors featuring ILP, most compilers apply locally a set of heuri...
Abstract-In an embedded system, the cost of storing a program on-chip can be as high as the cost of ...
Instruction scheduling and Software pipelining are important compilation techniques which reorder in...
Current microprocessors improve performance by exploiting instruction-level parallelism (ILP). ILP h...
Effective global instruction scheduling techniques have become an important component in modern comp...
International audience— Nested loops present the most critical sections in several embedded real-tim...
International audienceA summary of more than a decade of research in the area of backend code optimi...
PhD ThesisCurrent microprocessors improve performance by exploiting instruction-level parallelism (I...
Journal PaperCurrent microprocessors incorporate techniques to exploit instruction-level parallelism...
Software prefetching and locality optimizations are techniques for overcoming the gap between proces...