Re: ipa-icf::merge TLC

2015-03-04 Thread James Greenhalgh
On Sat, Feb 28, 2015 at 06:08:33PM +, Jan Hubicka wrote: > > > > Hi Honza, > > > > This is more a note for other interested AArch64 testers, but this patch > > breaks some tests on aarch64-none-elf. Looking at the test output, this > > is a problem with the tests than with your patch. We now

Re: ipa-icf::merge TLC

2015-03-04 Thread Christophe Lyon
On 3 March 2015 at 21:01, Jan Hubicka wrote: >> > Hi, >> > >> > I built with r221117. I see errors while building following targets: >> > aarch64_be-none-linux-gnu, aarch64_be-none-linux-gnu, >> > arm-none-linux-gnueabihf, arm-none-linux-gnueabi. >> >> Indeed, it's broken again since r221099. > >

Re: ipa-icf::merge TLC

2015-03-03 Thread Jan Hubicka
> > Hi, > > > > I built with r221117. I see errors while building following targets: > > aarch64_be-none-linux-gnu, aarch64_be-none-linux-gnu, > > arm-none-linux-gnueabihf, arm-none-linux-gnueabi. > > Indeed, it's broken again since r221099. Accidentally I reverted the var->alias check (probably

Re: ipa-icf::merge TLC

2015-03-03 Thread Christophe Lyon
On 3 March 2015 at 13:44, Alex Velenko wrote: > On 02/03/15 22:04, Christophe Lyon wrote: >> >> On 2 March 2015 at 21:21, Jan Hubicka wrote: On 01/03/15 16:47, Christophe Lyon wrote: > > On 27 February 2015 at 21:49, Jan Hubicka wrote: >>> >>> >>> ../sysde

Re: ipa-icf::merge TLC

2015-03-03 Thread Alex Velenko
On 02/03/15 22:04, Christophe Lyon wrote: On 2 March 2015 at 21:21, Jan Hubicka wrote: On 01/03/15 16:47, Christophe Lyon wrote: On 27 February 2015 at 21:49, Jan Hubicka wrote: ../sysdeps/gnu/siglist.c:72:1: internal compiler error: in address_matters_p, at symtab.c:1908 versioned_sym

Re: ipa-icf::merge TLC

2015-03-02 Thread Christophe Lyon
On 2 March 2015 at 21:21, Jan Hubicka wrote: >> >> >> On 01/03/15 16:47, Christophe Lyon wrote: >> >On 27 February 2015 at 21:49, Jan Hubicka wrote: >> >>> >> >>>../sysdeps/gnu/siglist.c:72:1: internal compiler error: in >> >>>address_matters_p, at symtab.c:1908 >> >>> versioned_symbol (libc, _

Re: ipa-icf::merge TLC

2015-03-02 Thread Jan Hubicka
> > > On 01/03/15 16:47, Christophe Lyon wrote: > >On 27 February 2015 at 21:49, Jan Hubicka wrote: > >>> > >>>../sysdeps/gnu/siglist.c:72:1: internal compiler error: in > >>>address_matters_p, at symtab.c:1908 > >>> versioned_symbol (libc, __new_sys_sigabbrev, sys_sigabbrev, GLIBC_2_3_3); > >

Re: ipa-icf::merge TLC

2015-03-02 Thread Alex Velenko
On 01/03/15 16:47, Christophe Lyon wrote: On 27 February 2015 at 21:49, Jan Hubicka wrote: ../sysdeps/gnu/siglist.c:72:1: internal compiler error: in address_matters_p, at symtab.c:1908 versioned_symbol (libc, __new_sys_sigabbrev, sys_sigabbrev, GLIBC_2_3_3); ^ 0x66a080 symtab_node::add

Re: ipa-icf::merge TLC

2015-03-01 Thread Christophe Lyon
On 27 February 2015 at 21:49, Jan Hubicka wrote: >> >> ../sysdeps/gnu/siglist.c:72:1: internal compiler error: in >> address_matters_p, at symtab.c:1908 >> versioned_symbol (libc, __new_sys_sigabbrev, sys_sigabbrev, GLIBC_2_3_3); >> ^ >> 0x66a080 symtab_node::address_matters_p() >> /scr

Re: ipa-icf::merge TLC

2015-02-28 Thread Jan Hubicka
> > Hi Honza, > > This is more a note for other interested AArch64 testers, but this patch > breaks some tests on aarch64-none-elf. Looking at the test output, this > is a problem with the tests than with your patch. We now eliminate some > function bodies which are identical across test function

Re: ipa-icf::merge TLC

2015-02-28 Thread James Greenhalgh
On Fri, Feb 27, 2015 at 02:10:47AM +, Jan Hubicka wrote: > * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton): > Use address_matters_p. > (redirect_all_callers, set_addressable): New functions. > (sem_function::merge): Reorganize and fix merging i

Re: ipa-icf::merge TLC

2015-02-27 Thread Jan Hubicka
> > ../sysdeps/gnu/siglist.c:72:1: internal compiler error: in address_matters_p, > at symtab.c:1908 > versioned_symbol (libc, __new_sys_sigabbrev, sys_sigabbrev, GLIBC_2_3_3); > ^ > 0x66a080 symtab_node::address_matters_p() > /scratch/sellcey/repos/bootstrap/src/gcc/gcc/symtab.c:1908 >

Re: ipa-icf::merge TLC

2015-02-27 Thread Martin Liška
On 02/27/2015 07:04 PM, Steve Ellcey wrote: > Following up to my own email. I can reproduce this with the following > cut down test case if I compile with '-O2 -fmerge-all-constants' on > MIPS. > > extern const char *const _sys_siglist[128]; > const char *const __new_sys_siglist[128] = { }; > ext

Re: ipa-icf::merge TLC

2015-02-27 Thread Steve Ellcey
On Fri, 2015-02-27 at 09:33 -0800, Steve Ellcey wrote: > On Fri, 2015-02-27 at 03:10 +0100, Jan Hubicka wrote: > > > Bootstrapped/regtested x86_64-linux, comitted. > > > > Honza > > * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton): > > Use address_matters_p. > > I think

Re: ipa-icf::merge TLC

2015-02-27 Thread Steve Ellcey
On Fri, 2015-02-27 at 03:10 +0100, Jan Hubicka wrote: > Bootstrapped/regtested x86_64-linux, comitted. > > Honza > * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton): > Use address_matters_p. I think this patch is causing an ICE while building glibc on MIPS. I am bui

Re: ipa-icf::merge TLC

2015-02-27 Thread Jan Hubicka
> > This caused: > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65237 Hi, this is patch I commited. gcc.dg/attr-noinline.c has template that counts number of calls in optimized assembler. Those do not match if one function is turned into another's wrapper. gcc.dg/noreturn-7.c misses one wa

Re: ipa-icf::merge TLC

2015-02-27 Thread H.J. Lu
On Thu, Feb 26, 2015 at 6:10 PM, Jan Hubicka wrote: > Hi, > this is the final version of patch I comitted. It has new fix to > make_decl_local > to set TREE_ADDRESSABLE becuase we leave the flag undefined for non-local > decls. > I also dropped Optimization from fmerge-all-constants, fmerge-con

Re: ipa-icf::merge TLC

2015-02-26 Thread Jan Hubicka
Hi, this is the final version of patch I comitted. It has new fix to make_decl_local to set TREE_ADDRESSABLE becuase we leave the flag undefined for non-local decls. I also dropped Optimization from fmerge-all-constants, fmerge-constants those can not be done in function speicfic way, I made ipa

Re: ipa-icf::merge TLC

2015-02-26 Thread Jack Howarth
On Wed, Feb 25, 2015 at 3:38 AM, Jan Hubicka wrote: > > I plan to commit after some further testing tomorrow and having chance > Martin to look across the changes and discuss 5). > > Honza > Is this still going in today or is there a newer patch to test? Jack

Re: ipa-icf::merge TLC

2015-02-25 Thread Markus Trippelsdorf
On 2015.02.25 at 19:32 +0100, Martin Liška wrote: > On 02/25/2015 06:15 PM, Jan Hubicka wrote: > >> On 2015.02.25 at 09:38 +0100, Jan Hubicka wrote: > >>> this patch reorganize sem_function::merge and sem_variable::merge. > >>> I read the code in detail and found several issues that are fixed in th

Re: ipa-icf::merge TLC

2015-02-25 Thread Martin Liška
On 02/25/2015 06:15 PM, Jan Hubicka wrote: On 2015.02.25 at 09:38 +0100, Jan Hubicka wrote: this patch reorganize sem_function::merge and sem_variable::merge. I read the code in detail and found several issues that are fixed in the following patch. I gave your patch a quick spin. It breaks Chr

Re: ipa-icf::merge TLC

2015-02-25 Thread Jan Hubicka
> On 2015.02.25 at 09:38 +0100, Jan Hubicka wrote: > > this patch reorganize sem_function::merge and sem_variable::merge. > > I read the code in detail and found several issues that are fixed in the > > following patch. > > I gave your patch a quick spin. It breaks Chromium. Its protocol buffer >

Re: ipa-icf::merge TLC

2015-02-25 Thread Markus Trippelsdorf
On 2015.02.25 at 09:38 +0100, Jan Hubicka wrote: > this patch reorganize sem_function::merge and sem_variable::merge. > I read the code in detail and found several issues that are fixed in the > following patch. I gave your patch a quick spin. It breaks Chromium. Its protocol buffer compiler gets

ipa-icf::merge TLC

2015-02-25 Thread Jan Hubicka
Hi, this patch reorganize sem_function::merge and sem_variable::merge. I read the code in detail and found several issues that are fixed in the following patch. 1) The logic whether address matters was wrong and ignored symbol aliases. I separated it into symtab_node::address_matters predi