LLVM-powered devirtualization