This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, PR 10474] Take two on splitting live-ranges of function arguments to help shrink-wrapping
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Martin Jambor <mjambor at suse dot cz>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 14 Nov 2013 09:24:54 +0100
- Subject: Re: [PATCH, PR 10474] Take two on splitting live-ranges of function arguments to help shrink-wrapping
- Authentication-results: sourceware.org; auth=none
- References: <20131106162607 dot GC3572 at virgil dot suse>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Wed, Nov 06, 2013 at 05:26:08PM +0100, Martin Jambor wrote:
> So, Vlad, Steven, do you think that this time I have re-computed all
> that is necessary? Do you think the patch is OK?
>
> Thanks a lot and sorry for the breakage,
I'm afraid there are still issues left.
Last night I was bootstrapping (first r204752, then when it failed
also r204751) with:
http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01268.html
http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01437.html
http://gcc.gnu.org/ml/gcc-patches/2013-11/txturet7Hr1Ws.txt
http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01553.html
patches applied on i686-linux (see
http://gcc.gnu.org/ml/gcc-patches/2013-10/msg02625.html
on how I configure/build such a gcc on x86_64-linux host),
and while it bootstrapped just fine, there were hundreds of regressions
in the vectorization tests, which worked fine if compiled with
stage1 cc1/cc1plus, but with stage2/3 cc1/cc1plus behaved strangely.
When I've reverted the ira.c part of r204698 and bootstrapped/regtested
with all those patches again, all the problems went away.
Valgrind hasn't revealed any undefined uses caused by those patches.
As it doesn't affect bootstrap/regtest of unpatched gcc, it is not an
immediate blocker (well, would be if/once the patches make it in),
but silent wrong code (sure, just suspected) is always very important.
Can you please have a look?
> 2013-11-04 Martin Jambor <mjambor@suse.cz>
>
> PR rtl-optimization/10474
> * ira.c (interesting_dest_for_shprep): New function.
> (split_live_ranges_for_shrink_wrap): Likewise.
> (find_moveable_pseudos): Move calculation of dominance info,
> df_analysios and the final anlyses to...
> (ira): ...here, call split_live_ranges_for_shrink_wrap.
>
> testsuite/
> * gcc.dg/pr10474.c: New testcase.
> * gcc.dg/ira-shrinkwrap-prep-1.c: Likewise.
> * gcc.dg/ira-shrinkwrap-prep-2.c: Likewise.
Jakub