Um Algoritmo Inter-Procedural para Análise de Largura de Variáveis

Autores

  • Douglas do Couto Teixeira Universidade Federal de Minas Gerais
  • Fernando Magno Quintão Pereira Universidade Federal de Minas Gerais

Palavras-chave:

Análise Estática, Compiladores

Resumo

Durante este projeto foi desenvolvido um algoritmo inter-procedural que é capaz de processar programas com milhões de instruções assembly. Ao contrário de muitos trabalhos anteriores, nosso algoritmo trata comparações entre variáveis sem recorrer a algoritmos custosos. Nós obtemos sensibilidade ao fluxo de execução usando como representação intermediária o formato e-SSA (Extended Static Single Assignment) descrito por Bodik. Nós também mostramos que processar os componentes fortemente conexos do grafo em ordem topológica não só reduz o tempo de execução do programa, mas também aumenta sua precisão. Nós implementamos nossa técnica em LLVM, um compilador industrial, e fomos capazes de processar cerca de quatro milhões de instruções assembly em poucos segundos.

Downloads

Não há dados estatísticos.

Biografia do Autor

Douglas do Couto Teixeira, Universidade Federal de Minas Gerais

Departamento de Ciência da Computação - UFMG

Fernando Magno Quintão Pereira, Universidade Federal de Minas Gerais

Departamento de Ciência da Computação - UFMG

Downloads

Publicado

2013-04-02