根据文档,clang支持options to emit optimisation reports:
- 当传球进行转换时(-Rpass)。
- 当传球未能进行转换时(-Rpass-missed)。
- 当通过确定是否进行转换时(-Rpass-analysis)。
醇>
它们提供以下示例命令行:
$ clang -O2 -Rpass=inline code.cc -o code
当我尝试这个时,我收到一个错误:
$ clang src/test/tests.cpp -Rpass=inline
clang: error: unknown argument: '-Rpass=inline'
scons: *** [build/test/tests.o] Error 1
scons: building terminated because of errors.
我的铿锵声版本是:
$ clang --version
Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.0.0
Thread model: posix
此选项在Mac OS上不可用吗?文档是否错误?或者我做错了吗?如果是这样,怎么做呢?
答案 0 :(得分:1)
适用于Debian clang-3.5.0-6,所以这可能是Apple clang限制。
% clang++ -O2 -Rpass=inline foo.cpp
foo.cpp:11:2: remark: _ZN1CC2Ev inlined into main [-Rpass=inline]
P* p = new C();
^
% clang --version
Debian clang version 3.5.0-6 (tags/RELEASE_350/final) (based on LLVM 3.5.0)
Target: i386-pc-linux-gnu
Thread model: posix