https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91322
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[10 regression] alias-4 |[10 regression] |test failure |g++.dg/lto/alias-4_0.C test | |failure Status|WAITING |NEW Keywords| |alias, missed-optimization Target| |arm --- Comment #14 from Richard Biener <rguenth at gcc dot gnu.org> --- FAIL: g++.dg/lto/alias-4 cp_lto_alias-4_0.o-cp_lto_alias-4_0.o execute -O3 -flto -fno-early-inlining on periodic testing on armv8l-linux-gnueabihf Adjusting summary - we also have gcc.dg/alias-4.c. So we're failing to disambiguate loads against stores here for some reason (we sure need either IPA PTA or TBAA for this to work - it's unclear what's special here about 'arm' - all loads and stores are pointers and there's one aggregate assignment involving struct a, also containing a pointer) # VUSE <.MEM_6(D)> # PT = nonlocal escaped null _1 = ptrD.5611; # .MEM_7 = VDEF <.MEM_6(D)> *_1 = 0B; # VUSE <.MEM_7> # PT = nonlocal escaped null _10 = aptrD.5614; # .MEM_11 = VDEF <.MEM_7> *_10 = aD.5615; # VUSE <.MEM_11> # PT = nonlocal escaped null _2 = ptrD.5611; # VUSE <.MEM_11> # PT = nonlocal escaped null _3 = *_2; _4 = _3 == 0B; So I'm quite sure the missed optimization isn't a regression? (can somebody quickly check GCC 9 whether the testcase is optimized there on ARM?) Which makes it a testsuite issue to solve for GCC 10, for example by xfail-ing it on affected platforms. The actual issue can probably be simplified quite a bit into a testcase for alias analysis and FRE1.