如何指定GHC应使用哪些LLVM二进制文件?

Cet*_*ert 20 haskell compilation llvm ghc

我已成功PortFusion使用全新的64位GHC 7.6.1 Release Candidate 1 for Windows构建.

使用来自http://www.drangon.org/mingw的新下载的本机64位 mingw二进制文件,该软件包易于安装(在一系列不相关的小修复之后)作为一个简单的network

CC=mingw64/bin/gcc cabal install
Run Code Online (Sandbox Code Playgroud)

LLVM同一网站上还有一个工具包.

现在我想知道如何在编译期间GHC使用特定的LLVM二进制文件.


它是否像上面那样简单和类似:

#v??v
 LLVM=????????? ghc -W -O2 -fllvm -optlo-O3 --make src/Main.hs
 LLVM=????????? cabal install PortFusion -f llvm #¹
#^??^
Run Code Online (Sandbox Code Playgroud)

¹定义llvm标志的PortFusion.cabal中的相关行

还是完全不同?

Rei*_*ton 5

为了记录,标题中问题的答案是

ghc -pgmlo opt_cmd -pgmlc llc_cmd -fllvm ...
Run Code Online (Sandbox Code Playgroud)

opt_cmd并且llc_cmd可以是命令名称(将在 中查找PATH)或完整路径名。


mca*_*dre 1

您可以通过更改PATH环境变量中定义的位置来让 GHC 使用某些二进制文件。较早的优先。据推测, System 的PATH优先级也高于 User PATH