On Sat, Mar 12, 2016 at 07:37:25PM +1030, Alan Modra wrote: > > I believe Alan's point is DSE deleted the assignment to x which can't be > > right as long as we've left in goto *&x. > > > > The goto *&x should be a use of x and thus should have kept the assignment > > live. > > Right, I wasn't trying to say that ira.c:indirect_jump_optimize is > OK. It needs the patch I posted or perhaps even better a test of > DF_REF_INSN_INFO rather than !DF_REF_IS_ARTIFICIAL (simply because the > flag test is reading another field, and we need to read > DF_REF_INSN_INFO anyway).
Ok, that was my point. BTW, DSE isn't the only one that deletes x = 0; cddce deletes it too. -fno-tree-dse -fno-tree-dce preserves it till expansion. Jakub