Make it build on llvm 3.5

Tried to take care to keep it compatible with <3.4.
Must this be in llvm_util.h? We don't include any other llvm headers directly here. Is there a reason why this #include cannot go in llvm_util.cpp?