[PATCH] Fix another dead_debug* df-problems.c issue (PR debug/44023)

Paolo Bonzini bonzini@gnu.org
Tue May 11 06:12:00 GMT 2010


On Mon, May 10, 2010 at 19:14, Jakub Jelinek <jakub@redhat.com> wrote:
> Hi!
>
> df_note_bb_compute would apparently record using dead_debug_add just
> the first use in a debug stmt that is no longer live, but if the
> debug insn contains more than one such register, it would happily
> keap that reference in after its REG_DEAD note (which leads to
> -fcompare-debug failures in RA and probably a lot of potential problems
> elsewhere too).
>
> The following patch fixes that.
>
> Unfortunately just the df_note_bb_compute change wasn't enough,
> because Alex' code would immediately df_insn_rescan a debug insn
> after updating it in dead_debug_insert_before.  The first such an
> update would free all the other uses and thus leaving garbage
> in the chains (and not result in updating it for the second etc.
> time).  The patch solves it by deferring all debug insn rescans
> from dead_debug_insert_before till dead_debug_finish.
>
> Bootstrapped/regtested on x86_64-linux and i686-linux, Uros AFAIK
> bootstrapped it on alpha*-linux.
>
> Ok for trunk?

Ok, thanks.

Paolo



More information about the Gcc-patches mailing list