Um Algoritmo de Fusão para Registradores Compartilhados


A fusão de registradores é uma otimização que remove instruções de cópia tais como “a = b” do código fonte. Esta otimização é possível sempre que as variáveis “a” e “b” são associadas ao mesmo registrador físico. Os algoritmos de fusão descritos na literatura normalmente assumem arquiteturas com bancos de registradores homogêneos; entretanto, diversas arquiteturas importantes, como x86, ARM, SPARC e ST240 contêm uma irregularidade que se manifesta na forma de registradores compartilhados. Dois registradores são compartilhados quando a atribuição de valores a um deles modifica o valor do outro. Geralmente, neste caso, os registradores podem ser divididos em uma hierarquia de classes. O objetivo deste projeto é desenvolver, implementar e testar novos algoritmos de fusão que levem o compartilhamento de registradores em consideração. Espera-se que tal algoritmo, ciente do compartilhamento de registradores, seja capaz de remover mais cópias que um algoritmo doutro modo cego, decrescendo então o tamanho e aumentando o desempenho dos programas compilados.

Alunos envolvidos: Mestrado acadêmico: (1) Doutorado: (1) .

Integrantes: Mariza Andrade da Silva Bigonha – Coordenador / Roberto S. Bigonha – Integrante / Fernando Magno Quintão Pereira – Integrante / Fabrice Rastello – Integrante / Quentin Colombet – Integrante / Christophe Quillon´s – Integrante / André Luiz Camargos Tavares – Integrante / Alain Darte – Integrante. 
 



Início: 2009
Término: 2011
Coordenador: Mariza Andrade da Silva Bigonha
Agência: FAPEMIG
Programa: Apoio a Pesquisa
Processo: APQ-03112-09
Situação: Encerrado