c++ - 如何将 Haskell LLVM passes 与 C++ LLVM passes 集成(如果有的话)?

标签 c++ haskell llvm

我有一组用 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/

相关文章:

haskell - Cabal 在 NixOS 上构建时找不到外部库

c++ - 如何根据 LLVM 中 LoadInst 的结果解析 AllocaInst?

compilation - 如何将CIL转换为LLVM IR?

C++初始化模板类构造函数

haskell - BS.getLine 和 CRLF 结尾

c++ - 如何在 ceres 中为同一解决方案创建不同的求解器 block ?

haskell - 如何报告 Haskell 代码中的错误

c++ - 将 Windows 上的 LLVM 库与 CMake 和 MinGW 链接起来

c++ - 基本的 linux C++ 网络 : connection refused, 但是没有出现错误

c++ - 使用 ostream 和 operator << 打印到控制台