代码之家  ›  专栏  ›  技术社区  ›  jmd_dk

gcc-开关回路和-O3

  •  0
  • jmd_dk  · 技术社区  · 6 年前

    -funswitch-loops 对于GCC,尤其是实际支持它的内容。根据 documentation :

    -O 选项。本节包括可能产生错误代码的实验选项。

    ...

    将具有循环不变条件的分支移出循环,并在两个分支上复制循环(根据条件的结果进行修改)。

    由启用 -fprofile-use -fauto-profile .

    所以如果我还没有使用 -F文件使用 ,似乎我必须明确地补充 -funswitch循环 到我的编译器标志列表,以便激活循环取消切换。很公平。虽然在同一个地方 文档

    -O3

    进一步优化。 -臭氧 打开由指定的所有优化 -O2 并打开以下优化标志:

    ...

    -funswitch循环

    ...

    因此,文件似乎声称 是通过 -臭氧 不 打开 任何 -O

    0 回复  |  直到 6 年前
        1
  •  2
  •   Nate Eldredge    6 年前

    您可以使用 -v -Q 查看所有有效优化选项的列表。具有 -v -Q -O3 -funswitch-loops

    因此,它被列在“未被任何 -O