dc.contributor | Fernando Magno Quintao Pereira | |
dc.contributor | Edson Borin | |
dc.contributor | Mario Sergio Ferreira Alvim Junior | |
dc.creator | Gabriel Poesia Reis e Silva | |
dc.date.accessioned | 2019-08-13T22:30:16Z | |
dc.date.accessioned | 2022-10-03T22:39:15Z | |
dc.date.available | 2019-08-13T22:30:16Z | |
dc.date.available | 2022-10-03T22:39:15Z | |
dc.date.created | 2019-08-13T22:30:16Z | |
dc.date.issued | 2017-08-04 | |
dc.identifier | http://hdl.handle.net/1843/JCES-AVKLSP | |
dc.identifier.uri | http://repositorioslatinoamericanos.uchile.cl/handle/2250/3807535 | |
dc.description.abstract | The 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.publisher | Universidade Federal de Minas Gerais | |
dc.publisher | UFMG | |
dc.rights | Acesso Aberto | |
dc.subject | Compiladores Otimizantes | |
dc.subject | Linguagens de Programação | |
dc.subject | Propagação de Constantes | |
dc.subject | Otimizações Sensíveis ao Contexto | |
dc.title | Dynamic dispatch of context-sensitive optimizations | |
dc.type | Dissertação de Mestrado | |