This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/14703] [4.4 regression] Inadequate optimization of inline templated functions, infinite loop in ipa-reference and memory hog
- From: "hubicka at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Sep 2008 12:56:26 -0000
- Subject: [Bug tree-optimization/14703] [4.4 regression] Inadequate optimization of inline templated functions, infinite loop in ipa-reference and memory hog
- References: <bug-14703-3016@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #9 from hubicka at gcc dot gnu dot org 2008-09-06 12:56 -------
cp/lex.c:590 (copy_decl) 10176: 0.0% 0:
0.0% 578168: 0.0% 66200: 0.0% 2257
cp/lex.c:510 (build_lang_decl) 161064: 0.1% 73304:
0.0% 928504: 0.0% 103928: 0.1% 4891
ggc-common.c:187 (ggc_calloc) 128717192:50.5% 9936:
0.0% 84083632: 3.5% 11048: 0.0% 651
tree-dfa.c:150 (create_var_ann) 0: 0.0%
383385552:98.7% 212651472: 8.9% 54185184:28.3% 6773148
tree-inline.c:484 (remap_block) 117369096:46.1% 0:
0.0% 939210480:39.4% 81275352:42.5% 10159419
tree-inline.c:4088 (copy_decl_no_change) 36328: 0.0% 0:
0.0% 1137856064:47.7% 54184584:28.3% 6773199
This patch solves it:
Index: tree-ssa-live.c
===================================================================
--- tree-ssa-live.c (revision 139985)
+++ tree-ssa-live.c (working copy)
@@ -489,6 +489,13 @@ remove_unused_scope_block_p (tree scope)
if (TREE_CODE (*t) == FUNCTION_DECL)
unused = false;
+ /* Remove everything we don't generate debug info for. */
+ else if (DECL_IGNORED_P (*t))
+ {
+ *t = TREE_CHAIN (*t);
+ next = t;
+ }
+
/* When we are outputting debug info, we usually want to output
info about optimized-out variables in the scope blocks.
Exception are the scope blocks not containing any instructions
The combined patch masks ipa-reference issue, but it needs to be solved too.
--
hubicka at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed|2008-09-06 12:37:51 |2008-09-06 12:56:26
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14703