我想知道是否/如何在启用优化功能时查看编译器如何使用clang ++ / g ++重新编写一段代码。我知道英特尔编译器有一个标志来产生相关的输出,但是我似乎在其他编译器中找不到等效的输出。
因此,由于您的指导,我得以发现一些非常酷的东西,所以我想分享一下:
使用Clang ++-4.0,可以如下编译可执行文件:
clang++-4.0 -std=c++14 -O3 -fsave-optimization-record -foptimization-record-file=myOptfile.yaml sourceFile.cpp
这会将成功和失败优化的记录保存在myOptfile.yaml中。可以使用llvm-opt-report-4.0进行查看,但是如果使用llvm / utils / opt-viewer.py可以查看其真正功能。
为此,请克隆llvm存储库,导航至源目录,并在生成myOptFile.yaml之后运行以下命令:
python ~/myInstallDir/llvm/utils/opt-viewer/opt-viewer.py myOptFile.yaml reportsDirectory/
这将创建许多html文件,您可以使用index.html(在reportsDirectory文件夹中)进行导航。
结果很棒,看起来像这样:
大多数事情都是可点击的,因此您可以使用html超链接导航到源代码的其他部分,包括c ++库,然后查看发生了什么!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句