- Avaliação
-
A
avaliação será baseada em duas provas teóricas mais um seminário,
seguindo os seguintes pesos: Prova 1 (35%), Prova 2 (40%) e Seminário
(25%). O seminário será sobre tópicos modernos de pesquisa em
compiladores que serão indicados pelo professor.
- Veja aqui os temas para seminários.
Ementa
- Técnicas avançadas usados no projeto de compiladores
modernos. Análise de Fluxo de Dados, otimização de código, alocação de
registradores, escalonamento de instruções, geração de código para
arquiteturas paralelas.
- Referências
Principais
- Aho, Sethi and Ullman. Compilers: Principles, techniques and tools.. Addison-Wesley.
- Steven S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann
- Michael Wolfe. High Performance Compilers for Parallel Computing.
- Andrew Appel. Modern Compiler Implementation in Java. Second Edition Cambridge
Fevereiro
|
Dia
|
Matéria |
28 Qui
|
Apresentação do Curso. Linguagem Intermediária. |
Março
|
Dia |
Matéria |
04 Ter
|
Blocos Básicos, CFG, DAG |
06 Qui
|
Conceitos básicos de otimização |
11 Ter
|
Equações para DFA, Definições Alcançantes (Reaching Definitions) |
13 Qui
|
Expressões Disponíveis, Análise de Longevidade |
18 Ter
|
Análise de Longevidade, Alocação Global de Registradores |
20 Qui
|
Feriado |
25 Ter
|
Alocação Global de Registradores |
27 Qui
|
Não haverá aula |
Abril
|
Dia |
Matéria |
01 Ter
|
Coalescing |
03 Qui
|
Transformações para otimização de código |
08 Ter
|
Laços em um CFG |
10 Qui
|
Laços: Detecção de Computação Invariante e Variáveis de Indução |
15 Ter
|
Laços: Strength Reduction, Eliminação de Variáveis de Indução |
17 Qui
|
Laços: Desenrolamento, Reestruturação |
22 Ter
|
Seleção de Instruções |
24 Qui
|
PROVA 1 |
29 Ter
|
Escalonamento Local (Dependências e Branch) |
Maio
|
Dia
|
|
06 Ter
|
Escalonamento Local (List Scheduling) |
08 Qui
|
Escalonamento Global (Trace Scheduling)/ Software Pipelining |
13 Ter
|
Software Pipelining |
15 Qui
|
Forma SSA |
20 Ter
|
Forma SSA |
22 Qui
|
Feriado |
27 Ter
|
Coleta de Lixo |
29 Qui
|
Coleta de Lixo |
Junho
|
Dia |
Matéria |
03 Ter
|
Alias Analysis |
12 Qui
|
PROVA 2 |
Feriados
|
20/03;
01/05; 22/05
|
|