Updated to support recent LLVM changes