由于构建时间较长,我无法充分缩小导致internal compiler error: Segmentation fault
的罪魁祸首(尽管我已经设法排除了LTO)。出现在GCC版本4.8.2,4.8.3和4.9.1中,而不是我怀疑其余各种优化策略之间存在冲突的错误:
通用:很可能不相关,这里是为了完整性
Graphite:关于内存访问的循环优化
石墨:不太确定
ISL:关于内存访问和自动并行的循环优化
Graphite:关于自动并行性的循环优化
选项集似乎共享重要的功能重叠。如果在编译过程中可能导致分段错误,我应该保留哪些选项,哪些应该剔除以便最大限度地提高性能?
答案 0 :(得分:0)
最后将segfault缩小到-ffast-math
和-floop-parallelize-all
选项。此问题与[4.8/4.9 Regression] [graphite] Segmentation fault with -Ofast -floop-paralle...相同,应在上游修复。由于修复程序是在6月29日推出的,而gcc 4.9.1于7月16日发布,它在4月分支,它不包含在4.8.3和4.9.1版本中。