dc.contributorFernando Magno Quintao Pereira
dc.contributorEdson Borin
dc.contributorMario Sergio Ferreira Alvim Junior
dc.creatorGabriel Poesia Reis e Silva
dc.date.accessioned2019-08-13T22:30:16Z
dc.date.accessioned2022-10-03T22:39:15Z
dc.date.available2019-08-13T22:30:16Z
dc.date.available2022-10-03T22:39:15Z
dc.date.created2019-08-13T22:30:16Z
dc.date.issued2017-08-04
dc.identifierhttp://hdl.handle.net/1843/JCES-AVKLSP
dc.identifier.urihttp://repositorioslatinoamericanos.uchile.cl/handle/2250/3807535
dc.description.abstractThe compilers community has dedicated much time and effort in making context-sensitive analyses scalable, with great profit. However, the implementation of context-sensitive optimizations remains a challenge. The main problem is code size growth. Both function cloning and inlining are based on creating copies of all functions in the call path that leads to each optimization, even when that involves copying functions that are not optimized. We propose a solution for that problem. Using a combination of dynamic dispatch and a state machine to dynamically control the transitions between calling contexts, our method implements fully context-sensitive optimizations only needing to copy optimized functions. Experiments in the LLVM Test Suite and SPEC CPU2006 show our method scales better than cloning, using 8.5x less bytes to implement the same optimizations. We have also observed speed-ups of up to 20% on top of LLVM -O3 using fully context-sensitive constant propagation.
dc.publisherUniversidade Federal de Minas Gerais
dc.publisherUFMG
dc.rightsAcesso Aberto
dc.subjectCompiladores Otimizantes
dc.subjectLinguagens de Programação
dc.subjectPropagação de Constantes
dc.subjectOtimizações Sensíveis ao Contexto
dc.titleDynamic dispatch of context-sensitive optimizations
dc.typeDissertação de Mestrado


Este ítem pertenece a la siguiente institución