GCC:冲突的优化
GCC: conflicting optimizations
由于构建时间长,我无法充分缩小导致internal compiler error: Segmentation fault
的罪魁祸首(不过,我已经设法排除了LTO)。出现在GCC版本4.8.2、4.8.3和4.9.1中,而不是我怀疑的其他各种优化策略之间的冲突:
Generic:很可能是不相关的,这里是完整性
- -管道
- -march=本地
- -O3
- -msse2
- -mfpmath=sse
- -ffast数学
Graphite:关于内存访问的循环优化
- -防洪交汇处
- -溢流条形矿
- -防洪堤
石墨:不太确定
- -fgraphite同一性
ISL:关于内存访问和自动并行的循环优化
- -防洪窝优化
Graphite:关于自动并行的环路优化
- -floop并行化所有
- -ftree并行循环=2
选项集似乎有显著的功能重叠。如果这可能导致编译过程中出现分段错误,为了最大限度地提高性能,我应该保留哪些选项,剔除哪些选项?
最后,以独占方式将segfault缩小到-ffast-math
和-floop-parallelize-all
选项。这个问题与[4.8/4.9回归][石墨]具有-Ofast-floop并行…的分段故障相同。。。,并且应当在上游固定。由于修复程序是在6月29日推出的,而gcc 4.9.1是在7月16日发布的,它在4月进行了分支,因此它不包括在4.8.3和4.9.1版本中。
相关文章:
- 空基优化子对象的地址
- 写入位置0x0000000C时发生访问冲突
- 关闭||运算符优化
- GL_SHADERSTORAGE_BUFFER位置是否与其他着色器位置冲突
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- 引发异常:读取访问冲突**dynamicArray**为0x1118235.发生
- 返回值优化:显式移动还是隐式
- 人脸跟踪arduino代码的优化
- C++LinkedList问题.数据类型之间存在冲突?没有匹配的构造函数
- 使用仅使用一次的变量调用的复制构造函数.这可能是通过调用move构造函数进行编译器优化的情况吗
- 链表中写入访问冲突的未知原因
- 纯函数,为什么没有优化
- C++中的openCV Mat访问冲突
- 为什么大多数 pair 实现默认不使用压缩(空基优化)?
- 如何以优化的方式同时迭代两个间距不相等的数组
- 如何使 std::sort 在 std::swap 和我的命名空间的模板化交换之间没有名称冲突?
- GCC:冲突的优化
- 链接时间优化与多线程支持冲突
- 在优化的生成中发现访问冲突,但该冲突未显示在调试生成(gcc)中