Busca avançada
Ano de início
Entree


New Optimization Sequences for Code-Size Reduction for the LLVM Compilation Infrastructure

Texto completo
Autor(es):
da Silva, Anderson Faustino ; Borin, Edson ; Quintao Pereira, Fernando M. ; Napoli, Otavio Oliveira ; do Rosario, Vanderson Martins
Número total de Autores: 5
Tipo de documento: Artigo Científico
Fonte: 25TH BRAZILIAN SYMPOSIUM ON PROGRAMMING LANGUAGES, SBLP 2021; v. N/A, p. 8-pg., 2021-01-01.
Resumo

Typical compilers provide users with default optimization levels: sequences of code-transformation passes that can be tuned to either generate faster or smaller executables. Regarding this last dimension of efficiency-size-clang contains two optimization levels: Os and Oz. Both cause the invocation of a large number of passes: 264 and 260, respectively. In this paper, we explore the following question: is it possible to find shorter sequences that deliver similar results? To provide an answer to such a question, we have compiled 15,000 different programs with 10,044 optimization sequences, each with up to 100 code-transformation passes. Promising sequences, once selected, were then systematically reduced. From this effort, we have chosen five optimization sequences containing from 12 to 15 code transformations. When applied onto SPEC CPU2017, these sequences yield compilation times that are 1.4- 1.6x and 1.3- 1.5x faster than the Os and Oz optimization levels of LLVM. Moreover, one of the selected sequences produced code that is 2.3% smaller than LLVM's Os level, and only 2.5% larger than the Oz level. (AU)

Processo FAPESP: 13/08293-7 - CECC - Centro de Engenharia e Ciências Computacionais
Beneficiário:Munir Salomao Skaf
Modalidade de apoio: Auxílio à Pesquisa - Centros de Pesquisa, Inovação e Difusão - CEPIDs