是否有可能以某种方式编写一个编译器来生成 LLVM IR 代码,用户将对其进行 JIT 编译,并在内存中编译后将其作为二进制文件写入磁盘?
这个场景背后的想法是我不想编译 LLVM IR 代码并让用户立即执行它(由于 JIT 编译导致性能较低)。但是我希望当用户第二次执行这个程序时它已经编译好了?
最佳答案
那么问题是如何在生成原生二进制文件时重用 JIT 生成的代码?我怀疑是否有 API 可以执行此操作,但记住 MC JIT 的工作原理,它可能相对容易实现。
但从我的观点来看,最好在第二次运行时将 LLVM IR 编译成 native 代码。
关于c++ - llvm jit 编译成二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11820278/