2012-02-15 88 views
2

本機代碼如何使用llvm生成?LLVM本機代碼生成

如果有可能,可以使用Haskell綁定來完成嗎?

UPD:我的意思是生成代碼不在內存中,我的意思是如何生成的代碼,並例如將它保存到文件。

回答

10

LLVM是一種編譯器基礎架構,它通過在將文件轉換並鏈接到最終本機代碼之前,通過各種優化和轉換處理其編譯器產生的internal language(作爲文本源或內存中表示)來生成本機代碼。所以,是的,LLVM可以生成本地代碼;實際上,這是它的主要目的。

Haskell有一個binding to the LLVM library。您可以使用writeBitcodeToFile來生成LLVM位代碼文件;然後llvm-ld可以將它們鏈接到本機代碼。