This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, PR 10474] Take two on splitting live-ranges of function arguments to help shrink-wrapping


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]