2012-09-28 138 views

回答

11

我不夠編譯哎呀^ H^H^^ h專家,才能夠取得多大的這一點,但也許有人可以建立在它...

GCC的相關位可得到很輕鬆了(如果你不嘗試,並檢查了整個事情)有:

svn co --depth=immediates svn://gcc.gnu.org/svn/gcc/trunk/gcc gcc 
cd gcc 
svn --set-depth infinity update config c cp 

(至少這是它似乎相關的C/C++,我發現東西的子集;添加其他的目錄,如果你對gcc支持的其他語言感興趣)

然後

grep -R flag_expensive_optimizations . | grep -v .svn 

會在少量文件上產生一個屏幕值(35行)。我會把它留給其他人來發布更詳細的分析(如果有人真正關心的話)。

其中一些引起了我的注意。我會提到,(在寫作時):

  • flag_expensive_optimizationscp/(C++ 支持)的唯一一提的是在一段代碼註釋/* Handle ordinary C++ destructors. */,似乎影響一個 LOOKUP_NONVIRTUAL標誌的設置,以及相關的評論/* Optimize for space over speed here. */

  • 處理器特定的配置/目錄(sparc,alpha,sh,i386)中有幾個命中。唯一I386一個適用於TARGET_AVX沒有優化時的大小和被註釋掉/* When not optimize for size, enable vzeroupper optimization for TARGET_AVX with -fexpensive-optimizations and split 32-byte AVX unaligned load/store. */

在其他幾個命中說服我,我應該只是滿足於把我的這一特性的認識gcc的水平一瞥文檔。