§ Timings of passes in GHC, and low hanging fruit in the backend:



To quote AndreasK:
- Register allocation, common block elimination, block layout and pretty printing are the "slow" things in the backend as far as I remember.
- There are also a handful of TODO's in the x86 codegen which still apply. So you can try to grep for these.
- Strength reduction for division by a constant