【发布时间】:2014-07-03 22:10:49
【问题描述】:
我正在尝试调试一个分段错误,当我使用带有 -O3 优化标志的 ifort 13.1.3 编译我的一个源文件时出现该错误。如果我对这个特定文件使用 -O2 并在我的其余代码中使用 -O3,一切运行正常。结果,我无法使用调试符号进行编译,因为问题就消失了。
为了尝试缩小导致此问题的特定优化操作的范围,如果可能的话,我希望添加一些使用 -O3 而不是 -O2 进行的更积极的优化。来自 13.1.3 参考:
其他高级优化似乎包括:
- 融合
- 块展开和堵塞
- 折叠 IF 语句
可能还有其他一些,但我无法从参考文献中识别出它们是 -O3 独有的。是否有我可以与 -O2 一起使用的标志来单独打开其中一些更具侵略性的选项,或者从 -O3 开始将它们关闭?
【问题讨论】:
-
您尝试了哪些错误检查选项?
-
你试过用
-opt-report 3编译吗?它应该为您提供有关编译器正在尝试优化的内容的更多详细信息。
标签: optimization segmentation-fault fortran intel-fortran