On February 13, 2021 12:20:48 AM GMT+01:00, Marc Glisse <marc.gli...@inria.fr> wrote: >On Fri, 12 Feb 2021, Andrew MacLeod via Gcc wrote: > >> I dont't want to immediately open a PR, so I'll just ask about >> testsuite/gcc.dg/pr83609.c. >> >> the compilation string is >> -O2 -fno-tree-forwprop -fno-tree-ccp -fno-tree-fre -fno-tree-pre >> -fno-code-hoisting >> >> Which passes as is. >> >> if I however add -fno-tree-vrp as well, then it looks like dead >store >> maybe does something wong... >> >> with EVRP running, we translate function foo() from >> >> >> complex float foo () >> { >> complex float c; >> complex float * c.0_1; >> complex float _4; >> >> <bb 2> : >> c.0_1 = &c; >> MEM[(long long unsigned int *)c.0_1] = 1311768467463790320; >> _4 = c; > >Isn't that a clear violation of strict aliasing?
Yes. We try DWIM if we see the must-alias though. Please see what the testcase was added for and eventually consider adding -fno-strict-aliasing.