Compiler Optimizations
Cost-based register allocation
Alias disambiguation
- Aliasing memory prevents compiler from keeping values in registers
- Determines when 2 pointers cannot point to the same location, allowing compiler to optimize expressions
Branch optimizations
- Analyzes branching behavior and rearranges code to remove branches or remove redundant conditions