On Thu, Sep 08, 2016 at 11:50:56AM -0600, Jeff Law wrote: > On 07/31/2016 07:42 PM, Segher Boessenkool wrote: > >Deleting restores (before a noreturn) that are dead confuses dwarf2cfi. > > > >2016-06-07 Segher Boessenkool <seg...@kernel.crashing.org> > > > > * dce.c (delete_unmarked_insns): Don't delete instructions with > > a REG_CFA_RESTORE note. > I don't really understand this one. Why is the restore marked dead and > why doesn't that happen for normal epilogues? Something wonky seems to > be going on here.
Because it's not behind a NOTE_INSN_EPILOGUE_BEGIN it is not treated specially by DCE, like insns in "normal" epilogues are. It is marked dead because it *is* dead: the value in the callee-save register is not used by anything anymore (noreturn!) Segher