Source: https://llvm.org/devmtg/2014-04/PDFs/Talks/Building an LLVM backend.pdf