A LLVM extension for the generation of low overhead runtime program specializer - CEA - Commissariat à l’énergie atomique et aux énergies alternatives
Communication Dans Un Congrès Année : 2014

A LLVM extension for the generation of low overhead runtime program specializer

Résumé

Program specialization is a common way to improve program performance. From a generic implementation of an algorithm, a derived implementation is generated by fixing some inputs. Many tools and languages enable this optimization at compile time, like C++, or at run-time, like Tempo. However, most of those tools are tied to a language (mostly C) and extensions made to it. In the case of run-time specializers, most of them manipulate an intermediate representation during code generation, that can lead to a waste of resources. In this paper, we introduce an LLVM extension that aims to generate low-overhead runtime program specializers. Given a program in an annotated LLVM IR, we use dedicated passes and a modified back-end to generate a specialized code generator. This approach removes the need to manipulate any IR at run-time. We also present some experiment performed on an ARM processor.
Fichier non déposé

Dates et versions

cea-01818891 , version 1 (19-06-2018)

Identifiants

Citer

V. Lomüller, H.-P. Charles. A LLVM extension for the generation of low overhead runtime program specializer. ADAPT '14 Proceedings of International Workshop on Adaptive Self-tuning Computing Systems, Jan 2014, Vienna, Austria. pp.14-16, ⟨10.1145/2553062.2553064⟩. ⟨cea-01818891⟩
38 Consultations
0 Téléchargements

Altmetric

Partager

More