我试过
ghc -fllvm -pgmlo -pgmlc -ddump-llvm src.hs
和
ghc -fllvm -pgmlo -pgmlc -keep-llvm-files src.hs
opt和llc(3.5.1版本)在PATH中
但是在执行命令后我没有找到任何llvm ir。
答案 0 :(得分:8)
可能GHC没有重新编译你的程序,因为自你上次运行GHC以来程序没有改变。这似乎可能是因为-pgmlo -pgmlc
意味着"使用-pgmlc
作为LLVM优化器"哪个不行。跑吧
ghc -fllvm -keep-llvm-files -fforce-recomp src.hs
(或手动修改src.hs
并重新编译)。
答案 1 :(得分:2)
1)-pgm[letter]
- 如果您只编译成C代码,则使用此命令(如果您编译时没有-fllvm
标志,则使用此命令)
2)-keep-llvm-files
- 在当前目录中找到.ll文件,否则尝试在/ tmp目录中找到它们(我在某处看到了这个bug)
3)ghc
仅适用于llvm 3.5