Alocação global de registradores de endereçamento usando cobertura do grafo de indexação e uma variação da forma SSA

AUTOR(ES)
DATA DE PUBLICAÇÃO

2000

RESUMO

O modo de endereçamento indireto é o modo mais utilizado para acessos a arrays em programas que executam em arquiteturas CISC dedicadas. A razão para isto é que o endereçamento indireto permite o cálculo rápido de endereços usando instruções curtas. Este trabalho propõe uma solução para o problema de alocação de registradores de endereçamento para referências a elementos de arrays em laços, utilizando modo de endereçamento indireto combinado com auto-incremento. O resultado é um algoritmo que minimiza o número de registradores de endereçamento e instruções de redirecionamento requeridas por um programa. Este trabalho propõe uma extensão, para o caso multi-dimensional. de trabalhos anteriores baseados na cobertura do Grafo de Indexação(IG). Este trabalho propõe ainda um algoritmo de alocação global baseado em uma variação de Static Single Assignment Forra e uma heurística para a redução do número de registradores requeridos pela cobertura do IG. Um compilador otimizante pertencente à Conexant Systems Inc. é utilizado para testar estas idéias. Resultados experimentais, usando programas reais, mostraram uma melhoria de desempenho de 11.3% no tempo de execução quando comparado com uma técnica de coloração baseada em prioridade. Devido ao impacto da alocação de registradores na geração de código, esta técnica pode melhorar substancialmente o tamanho do código gerado, reduzindo a dissipação de energia e aumentando o desempenho do sistema. Estas características são extremamente desejáveis para o projeto de computadores portáteis modernos

ASSUNTO(S)

linguagem de programação (computadores) arquitetura de computador compiladores (computadores)

Documentos Relacionados