Useful Links
Computer Science
Programming
Compiler Design
1. Introduction to Compilation
2. Programming Language Foundations
3. Formal Language Theory
4. Lexical Analysis
5. Syntax Analysis
6. Semantic Analysis
7. Intermediate Code Generation
8. Code Optimization
9. Code Generation
10. Runtime Environment
11. Advanced Compilation Topics
12. Compiler Construction Tools and Techniques
Code Generation
Code Generation Overview
Target Code Forms
Code Generation Phases
Quality Metrics
Target Machine Considerations
Instruction Set Architecture
RISC vs CISC
Addressing Modes
Instruction Formats
Register Architecture
Register Types
Register Allocation Constraints
Calling Conventions
Memory Hierarchy
Cache Considerations
Memory Access Patterns
Instruction Selection
Tree Pattern Matching
Dynamic Programming Approach
Greedy Algorithms
Cost Models
Instruction Selection Tools
Register Allocation
Register Allocation Problem
Live Range Analysis
Interference Graph Construction
Graph Coloring Algorithm
Register Spilling
Coalescing
Pre-colored Nodes
Instruction Scheduling
Scheduling Objectives
Dependence Constraints
Resource Constraints
List Scheduling Algorithm
Software Pipelining
Trace Scheduling
Code Generation Algorithms
Simple Code Generation
Optimal Code Generation
Code Generation from DAGs
Code Generation from Trees
Target Code Optimization
Peephole Optimization
Branch Optimization
Jump Threading
Tail Call Optimization
Assembly and Object Code Generation
Assembly Language Generation
Symbol Resolution
Relocation Information
Object File Formats
Debug Information Generation
Previous
8. Code Optimization
Go to top
Next
10. Runtime Environment