llvm compatibility