This is the mail archive of the
mailing list for the GCC project.
Re: [tree-ssa] Tail recursion improvement
> > After fixing this, I have run into a problem with dce; it removes the
> > *x assignment. It does not do this without loop header copying, since
> > without it x has a name tag with DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL
> > set; but for the type tag it is not, and thus the statement is not
> > considered necessary. I am not sure whether this is a bug at all
> > (if the program was not buggy, the writes to *x could indeed be safely
> > eliminated); but in any case it causes the libmudflap test to fail.
> > In case it indeed is a bug, where should it be fixed? Adding some more
> > conditions to mark_stmt_if_obviously_necessary? Or setting
> > DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL also for the type tag, somewhere?
> Well, I bootstrapped your patch together with the fix for this problem.
> It seems to work, but we get a few new regressions in libstdc++.
> Undoing your patch fixes the regressions, but I cannot really say
> whether your patch is still missing something or if there are more
> aliasing problems that need to be addressed.
> New regressions in 00testsuite-linux-gnu/20040304/libstdc++.sum.gz:
> FAIL: 20_util/binders.cc execution test
> FAIL: 23_containers/bitset/cons/1.cc execution test
> FAIL: 23_containers/vector/cons/3.cc execution test
> FAIL: 23_containers/vector/cons/4.cc execution test
> FAIL: 23_containers/vector/invalidation/3.cc execution test
> FAIL: 27_io/basic_filebuf/underflow/wchar_t/9178.cc execution test
> FAIL: ext/concept_checks.cc execution test
> Since the aliasing fix is needed independently of your patch, I just
> installed it. It passed bootstrap and regression tests on x86 and
> x86-64. I also need this patch as part of the bootstrap problems we're
> having on ppc.
> I will try to see what may be going on, but at the moment I'm trying to
> get ppc to bootstrap again. Could you take a look in the meantime?