This is the mail archive of the gcc-bugs@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]

[Bug tree-optimization/14703] [4.4 regression] Inadequate optimization of inline templated functions, infinite loop in ipa-reference and memory hog



------- 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


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