A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

VI – Optimização de código Blocos básicos Optimização de ciclos Bibliografia aconselhada: –Apontamentos LFA 1999/2000 - 1Jorge Morais.

Apresentações semelhantes


Apresentação em tema: "VI – Optimização de código Blocos básicos Optimização de ciclos Bibliografia aconselhada: –Apontamentos LFA 1999/2000 - 1Jorge Morais."— Transcrição da apresentação:

1 VI – Optimização de código Blocos básicos Optimização de ciclos Bibliografia aconselhada: –Apontamentos LFA 1999/ Jorge Morais

2 Blocos básicos Início dum bloco básico –A primeira instrução do programa –Instrução com um rótulo (label) –Instruções a seguir a um ramo A partir deste bloco consideramos todas as instruções até ao início dum novo bloco ou até ao fim do programa LFA 1999/ Jorge Morais

3 Exemplo i = 17 s = l1: ifz i goto l s = s + i i = i – 1 goto l l2: LFA 1999/ Jorge Morais

4 Exemplo LFA 1999/ Jorge Morais i = 17 s = 0 l1: ifz i goto l2 s = s + 1 i = i – 1 goto l1 l2:...

5 Optimizações Eliminação de sub-expressões comuns Propagação de código Eliminação de código morto Transformações aritméticas –Cálculo de constantes –Transformações algébricas –Redução de força Empacotamento de temporários LFA 1999/ Jorge Morais

6 Exemplo b = 4 – 2 t1 = b / 2 t2 = a * t1 t3 = t2 * b t4 = t3 + c t5 = t2 * b t6 = t5 + c d = t4 * t6 LFA 1999/ Jorge Morais

7 Optimização de ciclos Identificação de ciclos –Dominadores –Back edges –Cabeçalho do ciclo –Pré-cabeçalho Elevação de código Variáveis de indução LFA 1999/ Jorge Morais

8 Exemplo i = 42 l1: ifz i goto l2 s = 0 i = i – 1 j = i * 4 goto l1 l2:... LFA 1999/ Jorge Morais i = 42 l1: ifz i goto l2 s = 0 i = i – 1 j = i * 4 goto l1 l2:...


Carregar ppt "VI – Optimização de código Blocos básicos Optimização de ciclos Bibliografia aconselhada: –Apontamentos LFA 1999/2000 - 1Jorge Morais."

Apresentações semelhantes


Anúncios Google