for LLVM 3.4