【发布时间】:2013-12-30 17:44:16
【问题描述】:
前提条件:我使用 -O2 优化标志调用 gcc,并使用 -O2 优化标志调用 gcc。
这是否意味着传递给编译器的选项列表将相同?
clang 是否了解标准 GCC 选项,例如 -funroll-loops?
我在手册中没有找到关于这个问题的任何有用信息:
http://llvm.org/releases/3.3/tools/clang/docs/UsersManual.html
我什至找不到可以与 clang 一起使用的可能的 GCC 兼容选项列表。
clang 甚至对 GCC 选项做任何事情(或者它只是忽略它们?)
我只是需要澄清一下它是如何工作的。
【问题讨论】:
-
查看 clang 手册。它理解该选项,但我不确定它是否能理解所有选项。
-
无法保证
-O2在 gcc 的 clang 中的含义相同。鉴于他们有不同的优化器,这样的保证无论如何是不可能的。 -
@Adriano clang manual 对于它实际支持的优化选项及其含义出奇地沉默。
-
@user4815162342 它只是您需要的所有文档的入口点。例如this list of optimization flags.
-
@MikhailKalashnikov 刚刚阅读了我在之前评论中发布的链接。手册是其他(更详尽的)文章的入口点。
标签: c gcc compiler-construction clang llvm