[vta4.4] fix two build regressions

Richard Guenther richard.guenther@gmail.com
Thu Jul 30 00:53:00 GMT 2009


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.



More information about the Gcc-patches mailing list