This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [vta4.4] fix two build regressions
- From: Richard Guenther <richard dot guenther at gmail dot com>
- To: Alexandre Oliva <aoliva at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Wed, 29 Jul 2009 23:01:12 +0200
- Subject: Re: [vta4.4] fix two build regressions
- References: <or63dbcj54.fsf@livre.oliva.athome.lsd.ic.unicamp.br>
On Wed, Jul 29, 2009 at 10:46 PM, Alexandre Oliva<aoliva@redhat.com> wrote:
> The cleanups I installed in the VTA branch and then backported to VTA4.4
> introduced two build regressions in the VTA4.4 branch, fixed with the
> patch below.
>
> One problem was caused by sharing of expression trees between debug and
> non-debug stmts. ?The trees were modified in-place while going out of
> SSA, producing incorrect results.
>
> The other was a failure to update debug statements that referenced
> formerly-addressable variables. ?Since we don't keep VOPs for debug
> stmts, the debug stmt is not marked as interesting for an SSA update, so
> the reference to the now-gimple-reg variable is left alone instead of
> being turned into SSA form (or dropped, if it's completely gone). ?Later
> on, the statement may be rescanned, adding a USE to a variable that
> should be in SSA form but isn't, triggering verification errors.
>
> I wish I had a cleaner solution for this second problem, but rescanning
> debug stmts' operands when there are symbols to be renamed was the best
> I could come up with. ?Any suggestions?
Not really. Why's that not an issue on the trunk? I suppose the debug
statements return true for gimple_reference_memory_p?
Richard.