树矢量化:gcc优化标志

时间:2016-03-10 12:20:20

标签: c++ gcc optimization vector tree

我注意到gcc标志-ftree-vectorize对于优化代码非常有用。

我试图更好地理解它是如何工作的,但文档相当简洁:

  

在树上执行矢量化。此标志启用   -ftree-loop-vectorize和-ftree-slp-vectorize如果没有明确指定。

有谁知道这面旗帜的内部运作?

1 个答案:

答案 0 :(得分:3)

是GCC使用的内部代码表示,树矢量化在此阶段发生。在这种表示中,很容易发现重复的指令。如果代码生成器可以发出SIMD指令,则有助于在树阶段中捆绑这些重复的指令。

有关详细信息,请参阅tree-vectorizer.c。