sup*_*_jh 6 inline llvm compiler-optimization rust rust-cargo
在 C 语言中,我可以使用以下命令输出编译器优化信息:
clang -O2 main.c -o main -fsave-optimization-record
Run Code Online (Sandbox Code Playgroud)
rust是否也有这样的选项来输出优化信息,比如函数内联、参数优化等。我尝试了以下命令,但失败了,
cargo rustc -- -C llvm-args=-fsave-optimization-record
Run Code Online (Sandbox Code Playgroud)
错误信息如下:
rustc -Cllvm-args="..." with:未知的命令行参数“-fsave-optimization-record”。尝试: 'rustc -Cllvm-args="..." with --help'
您可以使用remark
codegendebuginfo
选项。
> rustc main.rs -C remark=all -g
Run Code Online (Sandbox Code Playgroud)
请注意,这-g
是 的别名-C debuginfo=2
。此选项将使注释具有准确的源位置。
引用自文档:
评论
该标志允许您打印优化过程的备注。通行证列表应以空格分隔。
all
将在每一次通过时发表评论。调试信息
该标志控制调试信息的生成。它采用以下值之一:
0
或none
:根本没有调试信息(默认)。line-directives-only
: 仅行信息指令。对于 nvptx* 目标,这可以进行分析。对于其他用例,line-tables-only
是更好、更兼容的选择。line-tables-only
:仅限行表。为带有文件名/行号信息的回溯生成最少量的调试信息,但不包含
其他任何内容,即没有变量或函数参数信息。1
或者limited
:没有类型或变量级别信息的调试信息。2
或者full
:完整的调试信息。
该选项的输出将不那么可读。另一种选择是考虑使用cargo-remark
.
也可以看看:
归档时间: |
|
查看次数: |
180 次 |
最近记录: |