【发布时间】:2015-08-07 19:47:05
【问题描述】:
如何运行 clang 并让它在通过之前停止,比如 loop-vectorize,然后将 IR 转储到 .ll 文件中,以后可以将其提供给 opt?
opt 有一个 -stop-after= 选项,但 Clang 似乎缺少等效选项。这是 Clang 3.7.0rc2 的一次失败尝试:
$ ../build/bin/clang -O2 -mllvm -stop-after=loop-vectorize a.cpp
clang (LLVM option parsing): Unknown command line argument '-stop-after=loop-vectorize'. Try: 'clang (LLVM option parsing) -help'
clang (LLVM option parsing): Did you mean '-print-after=loop-vectorize'?
我也尝试过运行clang -O0 -emit-llvm -S,然后运行opt -O2,但结果与直接运行clang -O2不同。
【问题讨论】:
-
正确的选项似乎是
-print-after=loop-vectorize。但它不识别循环矢量化选项。我得到这个 clang (LLVM 选项解析):对于 -print-after 选项:找不到名为“循环矢量化”的选项`错误。