Compiler Optimizations
- Global Optimizer:
- dead code elimination
- copy propagation
- loop normalization
- stride one loops
- single induction variable
- memory alias analysis
- strength reduction
-
- Inter-Procedural Analyzer:
- cross-file function inlining
- dead function elimination
- dead variable elimination
- padding of variables in common blocks
- inter-procedural constant propagation
-
- Automatic Parallelizer
- loop level work distribution
- Loop Nest Optimizer:
- loop unrolling (outer)
- loop interchange
- loop fusion/fission
- loop blocking
- memory prefetch
- padding local variables
-
-
- Code Generator:
- software pipelining
- inner loop unrolling
- if-conversion
- read/write optimization
- recurrence breaking
- instruction scheduling inside basic blocks