LLVM本机代码生成

时间:2012-02-15 11:26:29

标签: haskell code-generation llvm

如何使用llvm生成本机代码?

如果可能,可以使用Haskell绑定吗?

upd:我的意思是生成不在内存中的代码,我的意思是如何生成代码,例如将其保存到文件中。

1 个答案:

答案 0 :(得分:10)

LLVM是一种编译器基础结构,它通过将编译器生成的internal language作为文本源或内存表示形式处理来生成本机代码,然后通过各种优化和转换将其转换并链接到最终本机代码。所以,是的,LLVM可以生成本机代码;事实上,这是它的主要目的。

Haskell有一个binding to the LLVM library。您可以使用writeBitcodeToFile生成LLVM bitcode文件;然后llvm-ld可以将这些链接到本机代码。