展开gcc编译器优化

use*_*023 4 gcc compiler-optimization

我有兴趣看到gcc实际优化代码的代码.我有办法吗?

我已经经历了其他几个类似的questoins,我尝试过几件事,

  1. -Wa,ahl = filename.lst: - 这个选项非常好,你可以浏览代码和相应的机器代码,但是当我启用O3选项时它并不好.
  2. 倾倒优化树: - 我相信gcc给了我很多调试信息.但我不知道如何破译它.如果有人能指出任何可用的信息,我将很高兴.

还有其他更好的方法,找出gcc优化代码的哪一部分?

谢谢,Madhur

Fré*_*idi 8

您可以编译代码两次,首先使用:

$ gcc -O0 -S -o yourfile_o0.s
Run Code Online (Sandbox Code Playgroud)

然后用:

$ gcc -O3 -S -o yourfile_o3.s
Run Code Online (Sandbox Code Playgroud)

然后你可以diff得到两个结果汇编文件:

$ diff -u yourfile_o0.s yourfile_o3.s
$ vim -d yourfile_o0.s yourfile_o3.s
$ emacs --eval '(ediff "yourfile_o0.s" "yourfile_o3.s")'
Run Code Online (Sandbox Code Playgroud)