GCC执行什么x86 32位窥视孔?

时间:2015-10-22 17:10:43

标签: gcc x86 compiler-optimization

我一直在浏览GCC源代码,而且我对如何提取这些代码感到难过。任何人都可以提供有关如何提取这些窥视孔的列表或信息(程序集重写优化)吗?

GCC代码:https://github.com/gcc-mirror/gcc

编辑:澄清一个"窥视孔"被定义为一个查找和替换模式,其中一些相关的边条件使重写有效(通常只是一些注册/标记活动信息)。

2 个答案:

答案 0 :(得分:2)

由于这里太宽泛,所以这是非常偏离主题的。

您可以查看documentationMELT页面;它有几个有用的参考(特别是Indian GCC resource center),我写的大多数幻灯片都包含参考和教程材料......

大多数GCC优化发生在(目标和源中性)中端层,而不是后端。

peephole optimization这些天并没有太多(精确地),并且GCC的大多数优化能力都不是来自它。

答案 1 :(得分:2)

查看各种ifelse(identical(., character(0)), NA, .))文件并搜索*.md

例如:define_peephole包含(以及其他许多内容):

gcc/config/i386/i386.md

相关文件在GCC Internals Manual

https://gcc.gnu.org/onlinedocs/gccint/Peephole-Definitions.html#Peephole-Definitions