This sounds amazing. My only comment is that LLVM 3.7 is kind of old in the accelerated world of LLVM. If you have patches to LLVM you need you won't have much success submitting them as patches on 3.7.
The current stable release is 3.9 and the development snapshots are 4.0. I know LLVM moves quickly and that makes it hard to try to track the development. If you worked with 4.0 you might find the apis you're using getting deprecated and rewritten several times while your project is under development.