求问 gcc9 中-O1 比-O0 多了哪些优化选项? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xutl
V2EX    C

求问 gcc9 中-O1 比-O0 多了哪些优化选项?

  •  
  •   xutl 2020-11-06 14:40:58 +08:00 2924 次点击
    这是一个创建于 1868 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. linux 使用 gcc4 -O1,不会 crash
    2. win + mingw + gcc9 -O1, crash 。代码相同

    目前查找了 gnu 的文档,找到了一些-O1 比-O0 多的优化选项,全部加上以后,并不 crash 。但是直接加-O1 的话就会 crash 。目前 bug 还在排查中...望各位大佬给解答一下子!
    14 条回复    2020-11-25 16:30:29 +08:00
    ysc3839
        2
    ysc3839  
       2020-11-06 14:45:18 +08:00 via Android
    请发代码看看。
    lv2016
        3
    lv2016  
       2020-11-06 15:03:00 +08:00
    https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html.
    以及 “Not all optimizations are controlled directly by a flag. Only optimizations that have a flag are listed in this section.”
    xutl
        4
    xutl  
    OP
       2020-11-06 16:36:23 +08:00
    @ysc3839 代码是整个一个模块,我也没有找到是哪个语句导致的
    xutl
        5
    xutl  
    OP
       2020-11-06 16:36:52 +08:00
    @typetraits ok 非常感谢
    xutl
        6
    xutl  
    OP
       2020-11-06 16:37:01 +08:00
    @lv2016 谢谢
    linxy
        7
    linxy  
       2020-11-06 16:51:49 +08:00
    开 gdb 能跑么
    xutl
        8
    xutl  
    OP
       2020-11-06 17:23:04 +08:00
    @linxy 能跑 就是每次 crash 的位置都不一样
    dahakawang
        9
    dahakawang  
       2020-11-06 17:48:50 +08:00 via iPhone
    xutl
        10
    xutl  
    OP
       2020-11-09 16:25:33 +08:00
    @dahakawang
    我都试过了。

    @typetraits
    我将-O1 比-O0 多的优化选项摘了出来,然后去掉-O1 优化,用摘出来的优化选项替代,不会 crash 。在所有优化选项前加上-O1,程序就会 crash 。我猜测,-O1 并不只有使用你发的这些优化选项,还可能存在其他优化,我没有在文档中找到。经过目前排查,我怀疑应该是模块内部内存有问题,碰巧在使用 gcc9+mingw 环境下被触发了。但是目前没有找到定位问题的方法。
    typetraits
        11
    typetraits  
       2020-11-09 16:41:14 +08:00
    @xutl #10 上 gdb 看一下-O1 crash 在哪啊
    xutl
        12
    xutl  
    OP
       2020-11-09 18:10:41 +08:00
    @typetraits 我看了,crash 在类构造函数里面,构造函数全是初始化操作
    lv2016
        13
    lv2016  
       2020-11-24 22:51:28 +08:00
    @xutl 我遇到了和你一样的问题,具体表现是-O0 加上-O1 所有优化后和直接 O1 优化的结果不同,想问问你找到了问题没
    xutl
        14
    xutl  
    OP
       2020-11-25 16:30:29 +08:00
    @lv2016 目前还没有,准备将 cmakel 脚本转为 sln 形式,使用 vs 进行编译
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5022 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 05:50 PVG 13:50 LAX 21:50 JFK 00:50
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86