2015-03-31 97 views

回答

0

阅读GCC文档的专用于optimizationschapter(也关于ARM在GCC的部分:ARM options

您可以使用:通过编译和链接

  • link-time optimization(LTO)与-flto另外还有其他优化标志(所以make CC='gcc -flto -O2'):链接阶段也做优化(所以编译器链接文件不仅包含对象代码,但也中间GIMPLE内部编译器表示)
  • profile-guided optimization(PGO,与-fprofile-generate-fprofile-use-fauto-profile等):你第一次与剖析说明,你运行一些代表性的基准,以获得分析信息生成代码,并使用这些编译第二次分析信息。

您可以混合使用这两种方法并给出很多其他优化标志。一定要与他们保持一致。

在x86 &的x86-64(和ARM本身),你可能也使用-mtune=native并且还有很多其他的-mtune可能性。

有人调用基于配置文件的优化编译器反馈优化(因为动态运行时配置文件信息会返回给编译器)。我更喜欢“简介指导优化”这个术语。另请参阅this old question