otimização

301 palavras 2 páginas
Compiladores
Otimização de Código

Preparação do Ambiente


Baixe o compilador gcc para MIPS em:


http://www.ecomp.poli.br/~lcsm/xgcc.zip



Extraia o conteúdo do arquivo



Abra uma janela de comandos



Adicione do diretorio do compilador na variável
PATH


path=;%path%

Utilização do compilador:


Linha de comando:


xgcc -S [-O0 -O1 -O2 -O3 -O4] arquivo.c

Onde:





-S: compila até a geração de código assembly (produz arquivo.s) -O0 não realiza otimizações
-O1 … -O4: Otimiza o código gerado com diferentes níveis de otimização.

Exercício








Utilize o compilador cruzado para compilar os seguintes programas em c.
Analise o código gerado em difentes níveis de otimização Compare o código gerado pelo produzido pelo implementação vista em sala.
Análise as otimizações feitas pelo compilador gcc Programa 1 int a,b,c; void f() { a = 5; b = 3; b = 4; c = a + b;
}
void g() { a = a + 1; b = 2 * b; c = a + b;
}

Programa 2 int a,b,c; void f() { if (a) { b = b + 1; else c = c + 1; a = b + c;
}
void g() { a = 0; if (a) b = 0; eles c = 0;
}

Programa 3: int a,b,c; void f() { while (a>0) { b = b + a;
}
void g() { a = 5; while (a>0) { b = b + a;
}
void h() { a = 5; b = 1; while (a>0) { b = b + a;
}
void i() { a = 5; while (a>0) { b = b + a; b = 8;
}

a = a – 1; }

a = a – 1; }

a = a – 1; }

a = a – 1; }

Programa 4: int a,b,c; int *p, *q,*r; void f() { a=1; b=2; c=a+b; } void g() { a=1; b=2; *p = 0; c=a+b; } void h() { *p=1; *q=2; *r = *p + *q; }


Entendam o código para compilar os apontadores (não é dificil) e o seu efeito no otimizador.


Parece que ao usar apontador o compilador ficou “com medo” de aplicar técnicas de otimização. Explique...

Relacionados

  • Otimizaçao
    287 palavras | 2 páginas
  • Otimização
    4295 palavras | 18 páginas
  • Otimizacao
    324 palavras | 2 páginas
  • Otimização
    427 palavras | 2 páginas
  • Otimização
    677 palavras | 3 páginas
  • OTIMIZAÇÃO
    1678 palavras | 7 páginas
  • otimização
    1722 palavras | 7 páginas
  • Otimizaçao
    738 palavras | 3 páginas
  • otimização
    603 palavras | 3 páginas
  • Otimização
    509 palavras | 3 páginas