Modern compilers provide several optimizations that can be applied to the source code, in order to increase its performance. Due to the complex relationship between various optimizations, discovering harmful compiler optimizations is a problem in the context of compilers. Strategies based on iterative compilation try to solve this problem evaluating the performance of the compiled program using different sets. In this context, Combined Elimination is an efficient iterative compilation strategy. The purpose of Combined Elimination is to identify the harmful optimizations and remove them in an iterative compilation process. Combined Elimination provides good results, which are close to those founded by an exhaustive search approach. However, its drawback is the number of program runs. In this paper, we proposed an iterative compilation algorithm, named Improved Batch Elimination. This algorithm is based on the first step towards Combined Elimination, the Batch Elimination algorithm. The goal of Improved Batch Elimination is to produce results similar to Combined Elimination, with a complexity similar to Batch Elimination. In other words, the goal is to produce good results and to be faster than Combined Elimination. We evaluate our algorithm by measuring the performance of SPEC CPU 2006, POLYBENCH and CBENCH benchmarks under a set of 63 LLVM compiler optimizations. The results indicate that Improved Batch Elimination is a good strategy to remove harmful compiler optimizations, using few program runs.
@InProceedings{CLEI-2015:140646, author = {Ewerton Daniel de Lima and Anderson Faustino da Silva}, title = {Improved Batch Elimination: A Fast Algorithm to Identify and Remove Harmful Compiler Optimizations}, booktitle = {2015 XLI Latin American Computing Conference (CLEI)}, pages = {193--200}, year = {2015}, editor = {Hector Cancela and Alex Cuadros-Vargas and Ernesto Cuadros-Vargas}, address = {Arequipa-Peru}, month = {October}, organization = {CLEI}, publisher = {CLEI}, url = {http://clei.org/clei2015/140646}, isbn = {978-1-4673-9143-6}, }