1 | Advice on which algorithms and which machine to use |
2 | Choose compiler transformations and strategy: loop unrolling, interchange - discrete set of choices at each of many program fragments |
3 | Given transformation, find performance on given machine |
4 | Static and Dynamic Decomposition |
5 | Local Register Assignments, peephole optimizations, pipelining, etc. |