[Bug c++/64359] [5 Regression] alias_template_specialization_p template_args_equal show up high in profile

2014-12-21 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64359

Markus Trippelsdorf trippels at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #3 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Fixed. Thank you.

The only outlier left is push_to_top_level(). It sometimes
gets in the 8-10% range during Chrome compilation.


[Bug c++/64359] [5 Regression] alias_template_specialization_p template_args_equal show up high in profile

2014-12-20 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64359

--- Comment #2 from Jason Merrill jason at gcc dot gnu.org ---
Author: jason
Date: Sun Dec 21 05:00:43 2014
New Revision: 218995

URL: https://gcc.gnu.org/viewcvs?rev=218995root=gccview=rev
Log:
PR c++/64359
* pt.c (iterative_hash_template_arg): Hash alias specializations
differently from their TYPE_CANONICAL.
(alias_template_specialization_p): Optimize.
(template_args_equal): Optimize alias handling.
(dependent_alias_template_spec_p): Only check innermost args.

Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c


[Bug c++/64359] [5 Regression] alias_template_specialization_p template_args_equal show up high in profile

2014-12-19 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64359

--- Comment #1 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Created attachment 34301
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34301action=edit
example testcase

Here's an example:

markus@x4 Release % perf record c++ -O2 -std=gnu++11 -c
preferences_private_api.ii
[ perf record: Woken up 3 times to write data ]
[ perf record: Captured and wrote 0.712 MB perf.data (~31117 samples) ]
markus@x4 Release % perf report
...