我有一组用 C++ 编写的自定义 LLVM pass。知道我要添加一些新的传递,其中包含要测试的分析算法。为了加快速度,我想用 Haskell 编写这些 channel 。我知道 LLVM-hs 存在并且有一个 FFI。但是,我找不到将 C++ 预处理的 IR 传递给 Haskell 的方法,反之亦然。可以做到吗?如果可以,怎么做?
最佳答案
因为似乎没有办法通过 C 接口(interface)注册通行证,所以也没有办法通过 Haskell 来完成。所以问题甚至不在于用外语写通行证,而在于它的注册。
我认为您可以通过创建 stub 传递(例如 HaskellPass
)来实现您想要的,这会将 Module
传递给 Haskell 端。您还需要将 Haskell 代码编译成一个外部库
,这样您就可以从 C++ 链接到它。
关于c++ - 如何将 Haskell LLVM passes 与 C++ LLVM passes 集成(如果有的话)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48347500/