This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 6/9] sel-sched: Don't mess with register restores
- From: Segher Boessenkool <segher at kernel dot crashing dot org>
- To: Jeff Law <law at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org, bschmidt at redhat dot com
- Date: Fri, 9 Sep 2016 16:13:23 -0500
- Subject: Re: [PATCH 6/9] sel-sched: Don't mess with register restores
- Authentication-results: sourceware.org; auth=none
- References: <cover.1470015604.git.segher@kernel.crashing.org> <38963d815ea81b55d5b8e2ed85f2b347aad21395.1470015604.git.segher@kernel.crashing.org> <e7a612d5-727e-79bd-5395-465f8dd335aa@redhat.com>
On Thu, Sep 08, 2016 at 11:54:33AM -0600, Jeff Law wrote:
> On 07/31/2016 07:42 PM, Segher Boessenkool wrote:
> >If selective scheduling copies register restores it confuses dwarf2cfi.
> >
> >2016-06-07 Segher Boessenkool <segher@kernel.crashing.org>
> >
> > * sel-sched-ir.c (init_global_and_expr_for_insn): Don't copy
> > instructions with a REG_CFA_RESTORE note.
> Similarly, I think you're papering over a lifetime problem of some kind
> here.
sel-sched-ir.c says
/* Certain instructions cannot be cloned, and frame related insns and
the insn adjacent to NOTE_INSN_EPILOGUE_BEG cannot be moved out of
their block. */
if (prologue_epilogue_contains (insn))
...
and I'm just extending that to "epilogue" instructions not in the
"epilogue" ;-)
If all such epilogue instructions always had a REG_CFA_RESTORE note,
we could drop the "old" thing; but even instructions restoring a register
do not always have such a note (they can be batched up, and they can be
not emitted at all if not shrink-wrapping).
Segher