2012-09-28 104 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的水平一瞥文档。