This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fixing m68hc11 reorg after dataflow merge


> 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 = &REG_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";


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]