I am learning programming LLVM backends.
Currently I am interested in analysis passes, later program transformations. (I assume as I will be more fluent with analys
As someone that did what you want to do 3 years ago: LLVM codebase has the best examples. Maybe a good place to start is dominator analysis, as it is well described in compiler books.
Check how it is done in LLVM: http://llvm.org/doxygen/Dominators_8h_source.html
Other place to look might be instruction scheduling.