1

我正在尝试从我正在使用的大型 Fortran 程序中获得更快的速度。我(还)不太熟悉代码,所以我认为编译器优化将是一个很好的第一站。使用 gfortran 的-O1选项很好,但会以意外 NaN-O2-O3形式产生运行时错误。通过分解-O2其组成标志,我确定这-ftree-pre是问题所在,其他一切正常。

有没有办法只压制-ftree-pre旗帜?这样我就可以用 编译-O3 -no-ftree-pre,如果这有意义的话。

我已经确定了代码的哪一部分产生了错误,所以我的长期计划是消除错误。但这将构成目前的快速解决方案。

4

1 回答 1

1

如 GCC 手册页中所述:

许多选项具有以-f或开头的长名称-W- 例如,-fmove-loop-invariants等等-Wformat。其中大部分既有正面形式也有负面形式;的否定形式-ffoo-fno-foo. 本手册仅记录这两种形式中的一种,以非默认形式为准。

在您的情况下,为了否定 enable 的效果-O3,您应该在标志之后-ftree-pre附加。-fno-tree-pre -O3

于 2012-09-24T08:41:40.107 回答