[Bug ipa/68035] [5/6 Regression] ipa performance issue when no procedures are present

2015-11-18 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68035

--- Comment #6 from Martin Liška  ---
Author: marxin
Date: Wed Nov 18 09:06:50 2015
New Revision: 230521

URL: https://gcc.gnu.org/viewcvs?rev=230521&root=gcc&view=rev
Log:
Add missing test-case for PR ipa/68035

Added:
trunk/gcc/testsuite/gcc.dg/ipa/pr68035.c

[Bug ipa/68035] [5/6 Regression] ipa performance issue when no procedures are present

2015-11-12 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68035

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from Martin Liška  ---
Fixed.

[Bug ipa/68035] [5/6 Regression] ipa performance issue when no procedures are present

2015-11-12 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68035

--- Comment #4 from Martin Liška  ---
Author: marxin
Date: Thu Nov 12 15:16:00 2015
New Revision: 230263

URL: https://gcc.gnu.org/viewcvs?rev=230263&root=gcc&view=rev
Log:
Fix PR ipa/68035

PR ipa/68035
* ipa-icf.c (void sem_item::set_hash): New function.
(sem_function::get_hash): Use renamed m_hash member variable.
(sem_item::update_hash_by_addr_refs): Utilize get_hash.
(sem_item::update_hash_by_local_refs): Likewise.
(sem_variable::get_hash): Use renamed m_hash member variable.
(sem_item_optimizer::update_hash_by_addr_refs): Utilize get_hash.
(sem_item_optimizer::build_hash_based_classes): Utilize set_hash.
(sem_item_optimizer::build_graph): As the hash value of an item
is lazy initialized, force the calculation.
* ipa-icf.h (set_hash): Declare new function and rename hash member
variable to m_hash.
* gcc.dg/ipa/pr68035.c: New test.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-icf.c
trunk/gcc/ipa-icf.h
trunk/gcc/testsuite/ChangeLog

[Bug ipa/68035] [5/6 Regression] ipa performance issue when no procedures are present

2015-11-11 Thread ncahill_alt at yahoo dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68035

--- Comment #3 from ncahill_alt at yahoo dot com ---
Martin, your patch produces the identical object file in 10.3s versus 24.6s. 
The profile is also very smooth with none of the functions listed above
appearing.

Thank you very much, this is now not a problem for users of flite 2.0 (a very
good speech engine).

[Bug ipa/68035] [5/6 Regression] ipa performance issue when no procedures are present

2015-11-05 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68035

--- Comment #2 from Martin Liška  ---
Created attachment 36655
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36655&action=edit
Suggested patch

Hello.

Following patch should correctly force calculation of hash values that are
different for all variables and no O(n^2) comparison is processed.

Could you Neil test the patch on the whole source file before I'm going to send
the patch to mailing list?

Thanks,
Martin

[Bug ipa/68035] [5/6 Regression] ipa performance issue when no procedures are present

2015-10-21 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68035

Richard Biener  changed:

   What|Removed |Added

   Keywords||compile-time-hog
   Target Milestone|--- |5.3
Summary|ipa performance issue when  |[5/6 Regression] ipa
   |no procedures are present   |performance issue when no
   ||procedures are present