This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Fixing m68hc11 reorg after dataflow merge
- From: Kenneth Zadeck <Kenneth dot Zadeck at NaturalBridge dot com>
- To: "Rask Ingemann Lambertsen" <rask at sygehus dot dk>
- Cc: gcc at gcc dot gnu dot org
- Date: Sat, 16 Jun 2007 23:36:00 -0400
- Subject: Re: Fixing m68hc11 reorg after dataflow merge
- Reply-to: Kenneth dot Zadeck at NaturalBridge dot com
> On 6/16/07, Rask Ingemann Lambertsen <rask@sygehus.dk> wrote:
> > I need some help making m68hc11_reorg() work after the dataflow merge, in
> > particular this bit:
> >
> > /* Re-create the REG_DEAD notes. These notes are used in the machine
> > description to use the best assembly directives. */
> > if (optimize)
> > {
> > /* Before recomputing the REG_DEAD notes, remove all of them.
> > This is necessary because the reload_cse_regs() pass can
> > have replaced some (MEM) with a register. In that case,
> > the REG_DEAD that could exist for that register may become
> > wrong. */
> > for (insn = first; insn; insn = NEXT_INSN (insn))
> > {
> > if (INSN_P (insn))
> > {
> > rtx *pnote;
> >
> > pnote = ®_NOTES (insn);
> > while (*pnote != 0)
> > {
> > if (REG_NOTE_KIND (*pnote) == REG_DEAD)
> > *pnote = XEXP (*pnote, 1);
> > else
> > pnote = &XEXP (*pnote, 1);
> > }
> > }
> > }
> >
> > life_analysis (PROP_REG_INFO | PROP_DEATH_NOTES);
> > }
> >
> > --
> > Rask Ingemann Lambertsen
>
> Try:
>
What Seongbae said is correct. However, what Seongbae failed to say is
that you can ditch the code that gets rid of the old notes. That will
be done by the note problem.
Kenny
> df_note_add_problem ();
> df_analyze ();
> --
> #pragma ident "Seongbae Park, compiler, http://seongbae.blogspot.com"